我想使用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