日期:2014-05-17  浏览次数:20432 次

求高人指点:PHP中文入库成乱码的问题
我在网上找了好多方法
诸如:

mysql_query("set names 'gbk'") 

mysql_query("set names utf8") 

修改php.ini配置文件

等等 都没用额

我的数据库是utf-8的

所有文件也是utf-8的

能正常入库,就是里面的中文全成乱码了

望高人指点,谢谢

------解决方案--------------------
先检查下在数据插入前是否用程序进行了一些会变成乱码的处理,如二进制,64进制等等
------解决方案--------------------
你是如何知道 里面的中文全成乱码了 的
------解决方案--------------------
那就是你的数据库本身不是utf-8


------解决方案--------------------
检查文件是否为utf8编码。
------解决方案--------------------
探讨


我用phpmyadmin进入数据库浏览看的额

------解决方案--------------------
如果用 utf-8 编码的 phpmyadmin 观察到的内容是乱码,则表示你库中的数据并非 utf8 编码的

你的代码中并没有出现 mysql_query("set names utf8"),所以你的数据并不是按 utf-8 编码入库的

mysql_query("set names utf8") 表示其后的数据是 utf-8 的
但并不保证之前的数据也是 utf-8 编码的
------解决方案--------------------
探讨

如果用 utf-8 编码的 phpmyadmin 观察到的内容是乱码,则表示你库中的数据并非 utf8 编码的

你的代码中并没有出现 mysql_query("set names utf8"),所以你的数据并不是按 utf-8 编码入库的

mysql_query("set names utf8") 表示其后的数据是 utf-8 的
但并不保证之前的数据也是 utf-8 编码的

------解决方案--------------------
这个只能依靠编码统一来处理

在插入数据的时候、数据库保存的时候、读取数据的时候,都使用一致的编码就行了。应该是LZ哪里的细节遗漏了。

所以做项目的时候,细节不注意会害死人,温州动车拘捕无证程序员不仅仅只是个笑话而已...
------解决方案--------------------
1:看一下数据库中是不是乱码的。
2:如果数据库中显示正常,看一下网页的编辑方式是否正确。
------解决方案--------------------
确保php文件是utf-8的,在写入数据之前;set_names('utf-8');总的你要确保你的 页面编码,文件编码,和写入数据库的信息的编码一致就不会出现乱码了