你都会看到这样的结果
有点理解不了,还是不知道问题出在哪了?数据库编码应该是UTP8, :“show variables like 'character_set_database';”---》返回UTF8@~~~~~~~~~~~
关键是 character_set_server 的值
出了乱码就去找编码吧
关键是 character_set_server 的值
应用时发布在购买的虚拟主机上的,如何查看 character_set_server的值啊?
关键是 character_set_server 的值
多谢指点
show variables like 'character_set_server'
show variables like 'character_set_server'
结果是UTF-8
有点不合情理了,最后一招
select BINARY supplier_ from tbl_name where id_=17
echo base64_encode('取出的数据');
贴出结果
有点不合情理了,最后一招
select BINARY supplier_ from tbl_name where id_=17
echo base64_encode('取出的数据');
贴出结果
结果如下图(该结果为数据库客户端的结果,PHP页面数据显示正常):
PS:本帖主题内容中的2张图 --》图1 为PHP页面,显示正常;图2 为数据库客户端,显示乱码,到处cvs也是乱码
你给贴图有什么用?
我要你用程序取出那个乱码的内容,并贴出其 base64 编码的值
这样才好帮你分析
再说你贴出乱码的同时也应该贴出不乱时的内容
你给贴图有什么用?
我要你用程序取出那个乱码的内容,并贴出其 base64 编码的值
这样才好帮你分析
理解了,如下图,谢谢老大
再说你贴出乱码的同时也应该贴出不乱时的内容
不乱码内容:
使用BINARY 后的乱码内容:
我要你像这样的结果
echo base64_encode($t);//w6fCscK7w6fCm8Kuw6XCm8Kb
$t 是按 BINARY(二进制)方式读出的乱码字段的内容
按图形对比(#7 的方法)你那个仍然是被当做 latin1 处理的 utf-8
这些数据是你在修改字符集之前插入的吧?
我要你像这样的结果
echo base64_encode($t);//w6fCscK7w6fCm8Kuw6XCm8Kb
$t 是按 BINARY(二进制)方式读出的乱码字段的内容
按图形对比(#7 的方法)你那个仍然是被当做 latin1 处理的 utf-8
这些数据是你在修改字符集之前插入的吧?
不是的哦。。 字符集没有改过,供应商说不能改,应该是插入前没有设置数据库编码为UTF8.
+QQ:252613934
留下QQ讨论一下
我要你像这样的结果
echo base64_encode($t);//w6fCscK7w6fCm8Kuw6XCm8Kb
$t 是按 BINARY(二进制)方式读出的乱码字段的内容
按图形对比(#7 的方法)你那个仍然是被当做 latin1 处理的 utf-8
这些数据是你在修改字符集之前插入的吧?
3Q
本文原创发布php中文网,转载请注明出处,感谢您的尊重!