$test = json_encode(‘بسم الله’); echo $test;
作为此代码的结果,输出为:"\u0628\u0633\u0645 \u0627\u0644\u0644\u0647"虽然它应该类似于“بسمالله”。阿拉伯字符是通过JSON编码而编码的,而在Youtube API上则不是这样:http : //gdata.youtube.com/feeds/api/videos/RqMxTnTZeNE?v=2&alt=json
"\u0628\u0633\u0645 \u0627\u0644\u0644\u0647"
您可以在YouTube上看到阿拉伯字符正确显示。我可能会犯什么错误?
提示:我正在使用API,该示例仅是为了澄清。
"\u0628\u0633\u0645 \u0627\u0644\u0644\u0647"并且"بسم الله"在JSON中等效。
"بسم الله"
PHP仅默认使用Unicode转义,而不是多字节字符的文字。
您可以使用JSON_UNESCAPED_UNICODE进行其他指定(前提是您使用的是PHP 5.4或更高版本)。
json_encode('بسم الله', JSON_UNESCAPED_UNICODE);