牛骨文教育服务平台(让学习变的简单)

13.7 数据显示乱码终极解决办法

php连接mysql乱码是开发中新手经常遇到的问题。 根据实际过程中大家所遇到的,将乱码的问题,总结成了9个要点来彻底解决链接mysql乱码的问题。

解决乱码问题的核心思想,就是:多个不同的文件系统中一定要统一编码。

这9个要点分别是:

  1. html编码与MySQL编码一致

  2. PHP编码与MySQL编码一致

  3. 若有header头发送字符集,请与数据库一样

  4. 要和页面的文字编码一致
  5. 数据库建库的字符集要统一

  6. 表的字符集要统一

  7. 列的字符集要统一(表设了,列的字符集就默认是表的)

  8. 连接,校验的字符集要统一

  9. 结果集的字符集要统一

一,文件编码

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

一定要设置为utf-8无BOM格式。

二、header头编码

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

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

三、网页头文件编码

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

四、创建数据库的编码

五、表和列创建的时候表为utf-8

六、连接,结果、校验字符集设置

通过mysqli_set_charset("utf8")来MySQL连接、结果和校验的字符集设置。


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