2014-12-02 47 views
0

将json解码为中文: json_decode(''\ ud83d \ ude18 \ ud83d \ ude18 \ ud83d \ ude18 \ ud83d \ ude18 \ u597d \ ubb6 \ u4f19 \ ud83d \ uded \ ud83d \ ude0d \ ud83d \ ude0d'') ; 不工作?PHP:将json解码为中文,并且无法正常工作?

它适用于中国而不是兴高采烈

可以请您给我任何的想法吧

+0

使用双引号'\ ud83c \“' – Class 2014-12-02 07:24:31

+0

用单引号和双,但没有作品兄弟 已经 打印json_decode(试过alrady试图” udf83 \ ud83c \ udf83 \ ud83c \ udf83" ); print json_decode('\ ud83c \ udf83 \ ud83c \ udf83 \ ud83c \ udf83'); – 2014-12-02 07:28:05

+0

使用特殊字符/序列'\ u'或'$',这样你应该使用'''所以PHP解析器知道可能包含需要区别对待的项目 – Class 2014-12-02 07:29:21

回答

2

,这不是一个有效的JSON字符串 - JSON字符串必须是双引号

编辑里面:带着失败的例子上面,包裹在双引号的UTF-8,而且解码:

var_dump(json_decode('"\ud83c\udf83\ud83c\udf83\ud83c\udf83"')); 
string(12) "" 

(我不知道字形应该是什么样子,我不è已经知道,如果我已经安装了合适的字体,但该字符串解码)

+2

也许是一个例子 – 2014-12-02 07:29:06

+0

它是有效的JSON我得到它就像 回声json_encode('工作'); 而我编码中文json 反之亦然,我想解码哪些不适合我。 得到了点?因为它是从json_encode函数获得的,所以它是有效的json – 2014-12-02 07:34:30

+0

仔细看,json_encode的var_dump输出以“”开始并以“”结尾 - 每个var_dump(json_encode('\ ud83c \ udf83')有两组引号); 字符串(16)“”\\ ud83c \\ udf83“” ' – Andras 2014-12-02 07:39:29