我想使用php的函数json_encode将西里尔文UTF-8数组编码为JSON字符串。示例代码如下所示:PHP中的西里尔字符json_encode
<?php
$arr = array(
'едно' => 'първи',
'две' => 'втори'
);
$str = json_encode($arr);
echo $str;
?>
它工作正常,但脚本的结果表示为:
{"\u0435\u0434\u043d\u043e":"\u043f\u044a\u0440\u0432\u0438","\u0434\u0432\u0435":"\u0432\u0442\u043e\u0440\u0438"}
这使得6个字符为每个西里尔字符。有没有办法获得键/值对的原始字符而不是编码的字符?
正如你呼应串,我想这wents成HTTP响应。该响应使用哪种编码?有效的字符编码请参见http://json.org/。 – hakre 2012-06-02 18:11:50
嗨试试这个$ str = json_encode($ json,JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE); – 2015-07-12 11:26:50