PHP连接mysql的乱码的终极解决方案


php连接mysql乱码是开发过程当中,很多朋友经常遇到的问题,我们总结了9步来彻底解决连接后乱码的问题,一个核心思想,就是:一定要多个不同的文件系统中一定要统一编码。


我们将这些叫做:数据库字符集独孤9贱:

第一贱:  html编码与MySQL编码一致 

第二贱:  PHP编码与MySQL编码一致

第三贱:  若有header头发送字符集,请与数据库一样 

第四贱:  <meta http-equiv=“Content-Type”content=“text/html;   charset=utf-8” />要和页面的文字编码一致

第五贱:  数据库建库的字符集要统一

第六贱:  表的字符集要统一

第七贱:  列的字符集要统一(表设了,列就默认写表的) 

第八贱:  连接,校验的字符集要统一

第九贱:  结果集的字符集要统一


我们通过截图来完成其中的各个不同的步骤。下例中所有的字符集要均为utf-8来演示


1,html和PHP文件的编码,示例中:拿notepad++来演示。将PHP和html都要设为这种字符集。



2,如果php中有header头,一定要是utf-8的

header('content-type:text/html;charset=utf-8');


3,如果html文件编码是utf-8的也要设置为一置

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


4,数据库创建的时候库为utf8


5,表和列创建的时候表为utf-8


6,数据库的连接,校验为utf-8

      通过mysql_set_charset('utf8')来完成



注:数据库的字符集声明和文件中的略有不同。utf8为mysql数据库的,utf-8为文件中使用的。

本文为原创,转载请注明来源。