让json更懂中文(json_unescaped_unicode) - 风雪之隅


本站和网页 http://www.laruence.com/2011/10/10/2239.html 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

让Json更懂中文(JSON_UNESCAPED_UNICODE) - 风雪之隅
Press "Enter" to skip to content
风雪之隅 左手代码右手诗 open menu
mobile menu toggle button
主页
PHP源码分析
PHP应用
JS/CSS
随笔
留言
博客地图
让Json更懂中文(JSON_UNESCAPED_UNICODE)
Published on
10 October 2011
by
laruence
作者:
Laruence
-->
本文地址:
https://www.laruence.com/2011/10/10/2239.html
转载请注明出处
我们知道, 用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似"\u***"的格式, 还会在一定程度上增加传输的数据量.
<?php
echo json_encode("中文");
//"\u4e2d\u6587"
这就让我们这些在天朝做开发的同学, 很是头疼, 有的时候还不得不自己写json_encode.
而在PHP5.4, 这个问题终于得以解决,
Json新增了一个选项: JSON_UNESCAPED_UNICODE,
故名思议, 就是说, Json不要编码Unicode.
看下面的例子:
echo json_encode("中文", JSON_UNESCAPED_UNICODE);
//"中文"
怎么样, 是不是让大家很开心的改动?
呵呵, 当然, Json在5.4还加入了: JSON_BIGINT_AS_STRING, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES等选项, 如果有兴趣, 大家可以参看:
json_encode
不过, 还是要提醒下: PHP 5.4还处于开发阶段, 在最终release之前, 任何新特性都可能被调整或者更改. 如果大家有任何建议, 也欢迎反馈, 帮助我们使得PHP变得更好.
谢谢
更多更新信息, 请关注:
Changelog
Filed in
JSON_UNESCAPED_UNICODE
中文
Previous Post
二进制直接量(binary number format)
Next Post
Zend Signal in PHP 5.4
44 Comments
ΜΑΓΟΣ ΓΙΑ ΠΑΡΤΥ
July 13, 2023
well the information contained in this case you have any
Prestige park grove
prestige park grove Whitefield Bangalore
July 18, 2020
现在遇到个问题,用户昵称里有emoji表情,接口通过php输出json的时候,进行了json_encode,这样表情的unicode被转换成了html实体,有没有办法让它转换的时候跟中文这种似的,不转换呢?找了半天json_encode里相关设置的参数,没找到能干这个事的。
php json encode – Tech blog
January 18, 2020
[…] 让Json更懂中文(JSON_UNESCAPED_UNICODE) […]
wwphe
December 6, 2019
非常感谢,解决困扰几天的问题。
让Json更懂中文(JSON_UNESCAPED_UNICODE) – Feilong-tech
September 20, 2019
Hive和JSON_UNESCAPED_UNICODE | 逆流而上
May 7, 2019
[…] 事后突然意识到公司平台的很多接口返回的json数据中文都是没有编码的,于是在进一步的了解中看到了鸟哥的这篇文章《让Json更懂中文(JSON_UNESCAPED_UNICODE)》,文章开头的这句话让我认识到了自己的想当然。 用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”u***”的格式, 还会在一定程度上增加传输的数据量. […]
让Json更懂中文(JSON_UNESCAPED_UNICODE) – 乌托邦
November 7, 2018
[…] 原文地址:戳这儿 […]
让Json更懂中文(JSON_UNESCAPED_UNICODE) - Feilong-tech
July 5, 2018
《转载》让Json更懂中文(JSON_UNESCAPED_UNICODE) – 猫の家
May 30, 2018
[…] 本文地址: http://www.laruence.com/2011/10/10/2239.html […]
Ajax(二)用户注册验证、无刷新分页、underscore工具库、json、跨域、Ajax文件上传 – 黑暗象限
May 19, 2018
[…]
http://www.laruence.com/2011/10/10/2239.html
wxg
March 28, 2018
super brilliant
让Json更懂中文(JSON_UNESCAPED_UNICODE) – yxx
January 28, 2018
[…] 本文地址: 
infusionkendal.com
July 6, 2016
There’s certainly a lot to find out about this topic. I really like all the points you’ve made.
JackVan
May 26, 2016
JSON_UNESCAPED_UNICODE 没有能够把一些特殊符号转义 导致无法decode
http://faheemwebhost.com
May 12, 2016
Every weekend i used to go to see this site, as i wish for enjoyment, as this this
web site conations genuinely nice funny material too.
lorretta
February 15, 2016
I’ll immediately seize your rss as I can not to find your e-mail subscription hyperlink or e-newsletter service.
Do you’ve any?
Kindly allow me recognise in order that I may just subscribe.
Thanks.
10个开发微信卡包时常见的问题 | 云秀网|在云上开发优秀的网站
April 24, 2015
[…] Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.让Json更懂中文(JSON_UNESCAPED_UNICODE) <?php <span class="sh_keyword">echo</span> <span […]
Trail
February 13, 2014
问一下,php 5.2的要实现这个有什么别的方法吗?
管鹏会
December 3, 2018
urlencode 来实现
不转义中文字符的 json 编码方法 | 吃货的美好时代!搜集美食、旅游、娱乐、时尚与吃货们分享
August 16, 2012
[…] 参考资料:http://www.laruence.com/2011/10/10/2239.html […]
yangball
May 18, 2012
json_encode有第二个参数,
相对应的 json_decode 呢??
第二个参数是否解成object ? array 的。。
那新增加的呢,这个是乍样处理。
stevelu
April 20, 2012
现在还不没升级5.4,请问有没有现成的支持中文的json_encode嘛?
liuxd
December 12, 2011
啊哈,这个改动很棒啊!话说5.4啥时候发布啊?有比较准确的时间表吗?
zeg
December 8, 2011
哦哦哦哦哦哦哦!终于有人改这个了!
我一直想发信和你说这事呢~
kevin
直接输出UTF8的汉字字符串,并不符合JSON标准,这个怎么考虑的?
JSON.ORG的字符串说明:
string
“”
” chars ”
chars
char
char chars
any-Unicode-character-
except-“-or-\-or-
control-character
\”
\\
\/
\b
\f
\n
\r
\t
\u four-hex-digits
@see:
http://json.org/string.gif
kangzj
December 7, 2011
您好,如果想让把php 5.3的json.so升级到这个版本,应该如何操作呢。我用PEAR安装了json 1.2.1,发现并不支持此项功能,可以加我gtalk吗?就是我的email地址,谢谢!
Shallker
December 2, 2011
虽然在客户端console.log直接打印出的是’类似”\u***”的格式’, 但是在用jQuery接收时先声明数据格式是json, 那么打出来的就还是正确的中文, 不是\u*的格式了. 推论出是不是在客户端需要先对json数据进行下解析.
Anonymous
November 16, 2011
希望PHP同时实现64位和32位整数的支持,及无符号整数,这样也能解决ip2long的问题
大草原
istrone | 11 Oct 2011 11:01
对了,PHP好像还有一个bug,就是ip2long的返回值有时候会出现负数。
sprintf(‘%u’, ip2long($ip));
anthony
October 31, 2011
PHP 5.4是否真的对性能,内存使用有很大改善
朱宝祥
正在学习json中,感觉你什么都懂。。
转烛
October 20, 2011
昨天还正在为这个苦恼呢,没想到今天就看到这个内容。
小桑
October 19, 2011
哈哈,太爽了。
wclssdn
– – 鸟哥能加个插件不..
当我敲错验证码的时候, 把评论保留… 白打那么多字了..
雪候鸟
@wclssdn 后退, 内容还在.
rainkid
October 14, 2011
使用下面命令:
php -r “var_dump(json_encode(‘1’));”
输出是:
string(3) “”1″”
为什么会有两层引号?
dvaknheo
October 13, 2011
追加 parse_url 的逆函数吧。
很讨厌每次都要去 评论里 抄 glue_url
小鑫
October 12, 2011
这个属性比较好,期待中呀
darasion
October 11, 2011
我不觉得这个特性好。虽然一时看着爽,接踵而来的编码问题将会产生广泛而深入的影响。
jueying
不错,很实用!持续关注中!
istrone
jeffliu
超爱这个。
json_encode编码中文非常的恶心。
json_encode也会把大值int使用科学计数法表示 恶心死。
jackywdx
October 10, 2011
喔,这个特性很爽啊。
Comments are closed.
Sidebar
PHP
开发组核心成员,
Zend
顾问, PHP7及PHP8 JIT核心作者. Yaf等开源项目作者.
Search
开源项目
Yaf
:  PHP Framework in PHP extension
Yar
:  Light, concurrent RPC framework
Yac
:  PHP Contents cache
Yaconf
:  PHP Configurations Container
Taint
:  XSS code sniffer
Lua
:  Embedded lua interpreter
MsgPack
:  MessagePack in PHP extension
Couchbase
:  Libcouchbase wrapper
See also:  
laruence@github
最新评论
Hengist Wang
on
关于调用约定(cdecl、fastcall、stcall、thiscall) 的一点知识
拍黄瓜
PHP 8新特性之Attributes(注解)
陶路
博客迁移到腾讯云
tattvamretreat
深入理解Zend SAPIs(Zend SAPI Internals)
Sobha Town Park
PHP 8新特性之JIT简介
个人公众号
标签
Apache
apc
bug
C++
core
curl
Extension
IE
javascript
js
json
mysql
nginx
opcache
Performance
PHP5.4
PHP5.4新特性
PHP7
PHP8
PHP 8
PHP extension
php原理
PHP扩展
php源码
php源码分析
SAPI
session
valgrind
vim
yac
Yaf_Loader
zval
优化
低概率core
内核
原理
开发php扩展
性能
性能优化
扩展开发
正则
分类
Select Category
GNU C/C++  (11)
Js/CSS  (24)
Linux/Unix  (15)
MySQL/PostgreSQL  (7)
PHP Extension  (19)
PHP7  (9)
PHP8  (5)
PHP应用  (188)
PHP源码分析  (86)
转载  (34)
随笔  (111)
Links
Licence
Sitemaps
Site Feed
Yaf Manual
SSE Intrinsics Guide
X86 Instruction Reference
Realsee
访客地图
©
博客声明
京ICP备15032766号
PHP 8.1.0-NTS(JIT)
/ Theme By
Compete Themes