通常来说,PHP写MySql出现乱码都是由于编码不一致导致。
最近写一个PHP项目也出现了乱码,在phpAdmin中,以及数据读取出来都是乱码。
查阅多方资料都没能够解决。
这里记录下我的思路,我的首页也就是项目入口点的字符集设置为UTF-8,然后在程序中给MySQL写入中文字符串。
发现在phpAdmin中是乱码。
后来看phpAdmin中页面字符集设置为utf-8,也就是说。我就将数据库,表格,字段的字符集都设置为utf8,还是出现乱码。
然后在查询时,执行mysql_query("set names utf8");
然后在phpAdmin中查看表格内容,发现乱码已经没有了,显示正常。
在自己的页面文件中,字符集设置为utf-8,从mysql中读取内容显示正常。
个人体会就是,让各方的字符集都保持一致,乱码问题就会解决。
mysql_query("set names utf8");这个可以设置数据库连接的字符集。
在上文中,我的数据库,表格字段都是utf8,所以数据库连接时候的字符集也要保持一致。
这个也可以在phpAdmin的首页进行设置。但是为保证正确期间,最好在每次执行查询时,都进行一次设置。