十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
估计你数据库中的那个中文用户名读出来就是乱码,所以比对起来就是不一样的.要设置数据库默认字符集.
成都创新互联作为成都网站建设公司,专注重庆网站建设、网站设计,有关成都企业网站建设方案、改版、费用等问题,行业涉及成都混凝土搅拌站等多个领域,已为上千家企业服务,得到了客户的尊重与认可。
你把你的这两行代码,顺序返过来
mysql_query($sql,$conn) or die(mysql_error());
mysql_query("set names 'GBK'");
改为
mysql_query("set names 'GBK'");
mysql_query($sql,$conn) or die(mysql_error());
一般来说,乱码问题其实也就是编码不一致导致的。因此,要解决PHP中文乱码问题,解决步骤有如下几步:
1. 页面声明的编码 与 数据库内部编码 一致
比如: 你的网页里设置 charset = gb2312,然而,你的数据库使用utf-8,那么,如果不进行iconv转换的话,显示出来可能就有问题。
2. 页面文件的编码 与 页面声明的编码 一致
比如,你的网页文件为 test.php,该文件用 UTF-8B 格式保存,而如果你的网页里设置 charset = gb2312,那么可能显示也不正常。
从你的问题描述来看,“PHP中非数据库导出的部分 其中文显示正常 ”,据此可以确定页面文件编码与页面声明编码一致,那么,问题原因就在于:
页面声明的编码 与 数据库内部编码 不一致造成的。
你可以查看下,你的 数据库编码格式 与 网页定义的编码。
你这不是可以正常输出吗,
你这只是乱码吧,
你可以看一下这篇文章网页链接
这种情我遇到过,以前也是这样的;后台数据库的编码为GB2312,但前台显示和后台显都采用了UTF8,所以你在后台看到数据是乱码,但通过你的程序显示是正常的。
解决方案,
1.把你的表内容,写只程序导出为TXT文字,
2.住还是UTF导出后保存在文本格式,
3.注意分隔符等,
4.接下来新建一个数据库为UTF8的编码,
5.用Navicat Premium软件导进数据进数据库,保持表名,字段结构等都不变。
6.接正就直接连接新的数据库显示就为正常的UTF8数据了,直接用软件打开也不会出现乱码,
虽然方法有点复杂,但这是解闪的根本方法!其实第二种:利用PHP的转码直接转码,这种方法危险性较高也不全面,请谨慎考虑!
这个主要是编码问题导致数据变成乱码,这个可以忽略,最主要的是读取数据的时候可以正常显示就可以了,如果非要让数据库正常显示的话应该看看PHP页面的编码是不是和数据库的一直!
不行的话加群:58903596,验证懒羊羊,会有人帮你解决的!