为什么PHP处理数据库读出"张三"的编码而不是汉字?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了为什么PHP处理数据库读出"张三"的编码而不是汉字?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2257字,纯文字阅读大概需要4分钟。
内容图文
$con = mysql_connect("localhost","root","1234");mysql_select_db("test",$con);
mysql_query("set names utf8");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");
$q=mysql_query("SELECT * FROM people");
while($e=mysql_fetch_assoc($q)){
$output[]=$e; }
print(json_encode($output));
mysql_close();
?>
输出结果:
[{"id":"10","name":"John","sex":"1","birthyear":"1979"},{"id":"11","name :"\u5f20\u4e09","sex":"1","birthyear":"1989"}]
为什么不是 张三
回复讨论(解决方案)
因?你json_encode了,中文??未union??
print(json_encode($output));
改成
print($output);
如果你json_encode后也想看到中文,可以?考我之前?的文章: http://blog.csdn.net/fdipzone/article/details/28766357
json_encode 只接受 utf-8 编码的数据
json_encode 在做 json 编码时,会将多字节的 utf-8 字符转换成双字节的 unicode 编码的实体形式
这样在任何环境中bouquet不会因编码的原因造成数据的失真
json 数据格式主要用于与 js 通讯,而浏览器会将任何编码的数据转换成其工作字符集 unicode
所以,json_encode 的转码工作有利于减轻浏览器的压力
$con = mysql_connect("localhost","root","1234");
mysql_select_db("test",$con);
mysql_query("set names utf8");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");
$q=mysql_query("SELECT * FROM people");
while($e=mysql_fetch_assoc($q)){
$output[]=$e; }
print(json_encode($output));
mysql_close();
?>
输出结果:
[{"id":"10","name":"John","sex":"1","birthyear":"1979"},{"id":"11","name :"\u5f20\u4e09","sex":"1","birthyear":"1989"}]
为什么不是 张三
为什么我重装了wamp后, 又变成了 乱码, 反而倒退了? 请问上面的代码哪里有问题么?还是有哪个文件要配置?
在哪里看到有乱码?
在哪里看到有乱码?
莫名其妙的没有乱码了。。 现在是解码出问题了
解码出了什么问题?
解码出了什么问题?
谢谢版主,刚解决了解码的问题,为了使得PHP在浏览器输出时候,能显示中文,我在最前面加入了 echo ""; 原来这句话也是被android 接收了。是不是通过Php打印出的东西都被发送给了android客户端?
是的,php 打印的任何内容都被发往客户端
内容总结
以上是互联网集市为您收集整理的为什么PHP处理数据库读出"张三"的编码而不是汉字?全部内容,希望文章能够帮你解决为什么PHP处理数据库读出"张三"的编码而不是汉字?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。