将数据从Mysql数据库中导出来,遇到 Mysql导出的数据中繁体显示为乱码、问号 的问题。根据经验试着调整数据库编码,要么还是乱码,要么没有变化。经过苦苦研究,终于解决了,方法比较简单,同时,也摸索了一套解决mysql获取数据出现乱码思路的方案。
一、分析判断PHP+Mysql出现乱码的原因
基本概括为以下几种情况:
1、Mysql数据库默认的编码是utf8,如果PHP页面的编码与其不一致,可能会造成Mysql数据乱码问题;
2、Mysql在创建表或添加字段时会让你对编码进行选择, 如果PHP页面的编码与其不一致,同样,可能会造成Mysql数据乱码问题;
3、用户提交页面的编码与显示数据的页面编码不一致,那么肯定会造成页面出现乱码。 如:用户提交资料的页面是big5或utf8编码,显示数据的页面却是gb2312;
4、获取的数据中含有繁体中文,而出现乱码,同样可用前面的方法进行原因分析;
5、PHP页面字符集不正确;
6、PHP在连接Mysql数据库时SQL语句指定的编码不对;
7、Mysql版本不对,这点还未深入了解。
二、对症下药、一一解决
对于分析判断Mysql数据出现乱码的原因,分别进行相应的处理,下面整理了一个解决 Mysql数据出现乱码 问题的思路:
1、检查程序页面编码是否与数据库编码一致,两者必须统一,Mysql编码操作或代码设置后面会详细叙述;
2、检查数据库中表或字段编码格式是否与所需的编码一致,同