php连接mysql乱码是开发中新手经常遇到的问题。 根据实际过程中大家所遇到的,将乱码的问题,总结成了9个要点来彻底解决链接mysql乱码的问题。 解决乱码问题的核心思想,就是:多个不同的文件系统中一定要统一编码。 这9个要点分别是: 1. html编码与MySQL编码一致 2. PHP编码与MySQL编码一致 3. 若有header头发送字符集,请与数据库一样 4. <meta http-equiv=“Content-Type”content=“text/html; charset=utf-8” />要和页面的文字编码一致 5. 数据库建库的字符集要统一 6. 表的字符集要统一 7. 列的字符集要统一(表设了,列的字符集就默认是表的) 8. 连接,校验的字符集要统一 9. 结果集的字符集要统一 ###一,文件编码 html和PHP文件的编码,示例中:拿notepad++来演示。将PHP和html都要设为这种字符集。 一定要设置为utf-8无BOM格式。 ![](https://box.kancloud.cn/2015-10-12_561bcf3b06a2d.png) ###二、header头编码 如果php中有header头,一定要是utf-8的 > header('content-type:text/html;charset=utf-8'); ###三、网页头文件编码 如果html文件编码是utf-8的也要设置为一致 > <meta http-equiv=“Content-Type”content=“text/html; charset=utf-8” /> ###四、创建数据库的编码 ![](https://box.kancloud.cn/2015-10-12_561bcf3b2949f.png) ###五、表和列创建的时候表为utf-8 ![](https://box.kancloud.cn/2015-10-12_561bcf3b4145b.png) ###六、连接,结果、校验字符集设置 通过mysqli_set_charset('utf8')来MySQL连接、结果和校验的字符集设置。 *** 注:数据库的字符集声明和文件中的略有不同。utf8为mysql数据库的,utf-8为文件中使用的。