我从Facebook图表中提取数据,其中的字符编码如下:\u2014
和\u2014
是否有将这些字符转换为HTML的功能?即\u2014 -> —
如果你对这些字符代码有进一步的阅读,或者建议阅读一般的unicode,我将不胜感激。这让我很困惑。我不知道这些代码叫什么...我猜unicode,但是unicode似乎意味着很多东西。
答案 0 :(得分:1)
并通过$ .post
将其传递给php脚本首先我得到一个截断的字符串。我需要转义(JSON.stringify(响应)) 然后我得到一个带有西班牙口音的完整json编码字符串。 作为测试,我将它放在我用file_get_contents加载的文本文件中并应用php json_decode 并且什么也得不到。 您首先需要 utf8_encode 。
然后你等待你的愿望。 经过一整天的测试和谷歌没有任何结果正确解码unicode后,我找到了你的帖子。 非常感谢你。
答案 1 :(得分:0)
有人让我解决 Facebook JSON 档案中阿拉伯语文本的问题,也许这段代码可以帮助那些搜索从 Facebook(或 instagram)JSON 中读取阿拉伯语文本的人:
$str = '\u00d8\u00ae\u00d9\u0084\u00d8\u00b5';
function decode_encoded_utf8($string){
return preg_replace_callback('#\\\\u([0-9a-f]{4})#ism', function($matches) { return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UCS-2BE"); }, $string);
}
echo iconv("UTF-8", "ISO-8859-1//TRANSLIT", decode_encoded_utf8($str));
答案 2 :(得分:-1)
Facebook Graph API返回JSON对象。使用json_decode()将它们读入PHP,您不必担心像\uNNNN
那样处理字符串文字转义。不要尝试自己解码JSON / JavaScript字符串文字,或使用正则表达式提取所选属性。
读取字符串值后,您将拥有一个UTF-8编码的字符串。如果您的目标HTML也是UTF-8编码,则无需将—
(U + 2014)替换为任何实体引用。输出时只需在字符串上使用htmlspecialchars()
,即可正确编码字符串中的任何<
或&
个字符。
如果由于某种原因需要生成ASCII安全HTML,请使用htmlentities()
将charset
arg设置为'utf-8'
。