PHP json_解码特殊字符和表情符号

PHP json_解码特殊字符和表情符号,php,json,twitter,emoji,Php,Json,Twitter,Emoji,我似乎有一个编码问题。我从twitterapiv1.1获取json。JSON字符串看起来不错。它包含表情符号。然后,当我用PHP解码json_时,表情符号没有正确显示。我忽略了什么 下面是一个简化的测试用例: <?php $json = '{"text":"Here is an emoji \ud83d"}'; $array = json_decode($json, true); echo($json); //returns {"text":"Here is an emoji \ud

我似乎有一个编码问题。我从twitterapiv1.1获取json。JSON字符串看起来不错。它包含表情符号。然后,当我用PHP解码json_时,表情符号没有正确显示。我忽略了什么

下面是一个简化的测试用例:

<?php
$json = '{"text":"Here is an emoji \ud83d"}';
$array = json_decode($json, true);

echo($json);  //returns  {"text":"Here is an emoji \ud83d"}
echo($array['text']); //returns  Here is an emoji í ½
?>


谢谢你的帮助

尝试在输出之前设置字符编码

...
header('Content-Type: application/json; charset=utf-8');
echo($json);  //returns  {"text":"Here is an emoji \ud83d"}
echo($array['text']); //returns  Here is an emoji 

尝试在输出之前设置字符编码

...
header('Content-Type: application/json; charset=utf-8');
echo($json);  //returns  {"text":"Here is an emoji \ud83d"}
echo($array['text']); //returns  Here is an emoji 

谢谢,穆萨。问题:设置您描述的字符编码会让我从:“这是一个表情符号½”到:“这是一个表情符号”���" 是否有一种编码可以保留:“这是一个表情符号\ud83d”?你确定这是一个有效字符吗?啊!你说得对,穆萨。我从来没有遇到过问题。我用来排除故障的转义unicode格式不正确:(总的来说,我对你和stackoverflow感到抱歉。噢,非常感谢你帮我发现了这一点。谢谢,穆萨。问题:设置你描述的字符编码会让我从:“这是一个表情符号½”变为:“这是一个表情符号���“是否有一种编码可以保留:“这是一个表情符号\ud83d”?你确定这是一个有效字符吗?啊!你说得对,穆萨。我从来没有遇到过问题。我用来排除故障的转义unicode格式不正确:(我向您和stackoverflow表示抱歉。Oops。非常感谢您为我发现了这一点。您正在运行什么PHP版本?Oops。抱歉。感谢您的回复。上述结果来自5.4.4。(与此兼容的解决方案会很好,但如果json_decode()在较新版本的PHP中工作方式不同,这对学习也很有帮助。)您运行的是什么PHP版本?Oops。抱歉。感谢您的回复。以上结果来自5.4.4。(与之兼容的解决方案会很好,但如果json_decode()在较新版本的PHP中工作方式不同,那么学习也会很有帮助。)