PHP+MySQL存储数据常见中文乱码问题小结
本文实例总结了PHP+MySQL存储数据常见中文乱码问题。分享给大家供大家参考,具体如下:
PHP+MySQL出现中文乱码的常见原因:
1.MYSQL数据库的编码是utf8,与PHP网页的编码格式不一致,就会造成MYSQL中的中文乱码。
2.使用MYSQL中创建表、或者选择字段时设置的类型不是utf8,而网页编码不是utf8,也可能造成MYSQL中文乱码.
3.PHP页面的字符集与数据库的编码不一致。
4.PHP连接MYSQL数据库,操作是设定的语句指定的编码和页面编码,PHP页面编码不一致。
5.用户提交的HTML页面编码,和显示数据的页面编码不一致,就肯定会造成PHP页面乱码.
解决中文乱码问题的方法:
1.网页编码设置。一般在HTML代码中的文件头<html>中加入属性:
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8">
保证,网页是"utf-8"编码。
2.PHP代码设置。在php代码的开始部分加入以下代码:
header("Content-type:text/html;charset=utf-8");
且要求保存的文件编码方式是utf-8(可以用EditPlus打开设置,如下图),这样就保证了该文件也是utf-8编码。
3.数据库中表的字段中存储中文的部分,要设置为utf8_general_ci类型。
4.PHP在连接数据库操作时,要设置操作的字段类型为utf8,设置方法如下:
mysql_connect('localhost','user','password'); mysql_select_db('db'); mysql_query("setnamesutf8");//**设置字符集*** mysql_query(要执行的sql语句);
希望本文所述对大家php程序设计有所帮助。