PHP JSON 出力での UTF-8 の保持
質問:
PHP の json_encode 関数が非エスケープされるのを防ぐにはどうすればよいですか? -ASCII 文字を Unicode シーケンスとして使用しますか?必要な出力は、Unicode シーケンスではなく、UTF-8 でエンコードされた文字です。たとえば、値「á」を含む配列は、{"a":"u00e1"} ではなく、{"a":"á"} としてエンコードする必要があります。
答え:
JSON 仕様では両方のエンコード形式が許可されていますが、{"a":"u00e1"} と {"a":"á"} は JSON デコーダーによって同等に扱われます。
PHP バージョン 5.4 以降の場合、json_encode JSON_UNESCAPED_UNICODE オプションを提供します。このオプションは、エスケープせずにプレーンな UTF-8 エンコード文字を出力します。
<code class="php">$json = json_encode($arr, JSON_UNESCAPED_UNICODE);</code>
古い PHP バージョンの場合は、次のオプションを検討してください:
以上がUnicode エスケープせずに PHP JSON 出力の UTF-8 文字をエンコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。