PHP の json_encode を使用して中国語を処理すると、「u***」形式と同様に中国語がエンコードされて判読できなくなり、送信されるデータ量もある程度増加することがわかっています。
echo json_encode("中国語");//"u4e2du6587"
これは、Tianchao で開発作業を行っている私たちにとって、時々 json_encode を自分で書かなければならない場合に頭痛の種になります。
PHP5.4 では、この問題は最終的に解決されました。Json には新しいオプション JSON_UNESCAPED_UNICODE があり、これは Json を Unicode でエンコードする必要がないことを意味します。
以下の例を見てください:
echo json_encode("中国語", JSON_UNESCAPED_UNICODE);
//「中国語」
どうでしょうか? それは皆さんを喜ばせる変更でしょうか? (笑) もちろん、Json は 5.4 で JSON_BIGINT_AS_STRING、JSON_PRETTY_PRINT、JSON_UNESCAPED_SLASHES などのオプションも追加しました。興味がある方は、json_encode
を参照してください。
ただし、注意してください: PHP 5.4 はまだ開発段階にあり、最終リリース前に新機能が調整または変更される可能性があります。ご提案があれば、PHP の改善に役立つフィードバックを歓迎します。