私は多種多様な言語を扱うPHPスクリプトを用意しています。残念ながら、json_encode
を使用しようとすると、すべてのUnicode出力は16進数のエンティティに変換されます。これは期待される行動ですか?出力をUTF-8文字に変換する方法はありますか?PHP json_encode関数がUTF-8文字列を16進数のエンティティに変換するのはなぜですか?
は、ここで私が見ているものの例です:
INPUT
echo $text;
OUTPUT
База данни грешка.
INPUT
json_encode($text);
OUTPUT
を"\u0411\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u0438 \u0433\u0440\u0435\u0448\u043a\u0430."
Aha。ありがとう!私はより慎重にドキュメントを読む必要があります。ありがとう。 –
これをデフォルトに設定する方法があるのだろうかと思います。 –
JSON_UNESCAPED_UNICODEはPHP 5.4で導入されました。0、以前のバージョンでは使用できません。以前のバージョンで使用した場合、この警告が表示されます: "警告:json_encode()は、パラメータ2が長く、文字列が...で指定されています。" 5.3ソリューションについては、以下のCertaiNの回答を参照してください。 –