13.7 数据显示乱码终极解决办法
最后更新于:2022-04-02 00:22:06
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格式。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-10-12_561bcf3b06a2d.png)
###二、header头编码
如果php中有header头,一定要是utf-8的
> header('content-type:text/html;charset=utf-8');
###三、网页头文件编码
如果html文件编码是utf-8的也要设置为一致
>
###四、创建数据库的编码
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-10-12_561bcf3b2949f.png)
###五、表和列创建的时候表为utf-8
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-10-12_561bcf3b4145b.png)
###六、连接,结果、校验字符集设置
通过mysqli_set_charset('utf8')来MySQL连接、结果和校验的字符集设置。
***
注:数据库的字符集声明和文件中的略有不同。utf8为mysql数据库的,utf-8为文件中使用的。
';