有一个很简单的一例,要完成一个邮箱地址的采集。
界面: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);
?>