有一个很简单的一例,要完成一个邮箱地址的采集。

界面:addemail.html

功能:addemail.php  将addemail.html 中采集的信息存储到mysql中。

 

在addemail.html中

<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>

在浏览器中显示是正常的,但提交到mysql中却是乱码,mysql字符集已经是utf8 general 了,为啥还乱码。

是不是文件编码的问题?

利用转码工具将html和php文件重新utf编码,问题依旧。。。。

 

在addemail.php中mysqli_query之前加入

mysqli_query($dbc,”set names ‘utf8’ “);
mysqli_query($dbc,”set character_set_client=utf8″);
mysqli_query($dbc,”set character_set_results=utf8″);

问题解决!

现附上addemail.php源码以作参考。

 
<?php
$dbc = mysqli_connect(‘localhost’,’root’,’mima’,’yantaisolo’) or die(‘ERROR connecting to MYSQL Server’) ;

$first_name = $_POST[‘firstname’];
$last_name = $_POST[‘lastname’];
$email = $_POST[’email’];

$query= “INSERT INTO email_list(first_name,last_name,email) values (‘$first_name’,’$last_name’,’$email’)”;
mysqli_query($dbc,”set names ‘utf8’ “);
mysqli_query($dbc,”set character_set_client=utf8″);
mysqli_query($dbc,”set character_set_results=utf8”);
mysqli_query($dbc,$query) or die(‘ERROR QUERYING DATABASE’);

echo ‘CUSTOMER ADDED.’;
mysqli_close($dbc);

?>

 

yantaisolo

作者 yantaisolo