この記事では、中国語をエスケープせずに PHP で json_decode を実装する方法を主に紹介し、サンプル フォームと、php5.4 以降および 5.3 バージョンでの中国語をエスケープせずに json_decode を実装するための関連注意事項の詳細な分析を組み合わせています。必要です 参考に
この記事の例では、PHP が中国語をエスケープせずに json_decode を実装する方法を説明します。参考までに皆さんと共有してください。詳細は次のとおりです:
デフォルトでは、PHP の json_decode メソッドは特殊文字をエスケープし、中国語を Unicode
エンコード形式に変換します。 Unicode
编码形式。
这使得数据库查看文本变得很麻烦。所以我们需要限制对于中文的转义。
对于PHP5.4+版本,json_decode函数第二个参数,可以用来限制转义范围。
要限制中文,使用JSON_UNESCAPED_UNICODE
PHP5.4以降のバージョンでは、json_decode関数の第2パラメータを使用してエスケープ範囲を制限できます。
🎜🎜中国語を制限するには、JSON_UNESCAPED_UNICODE
パラメーターを使用します。 🎜json_encode($a, JSON_UNESCAPED_UNICODE);
function my_json_encode($arr) { //convmap since 0x80 char codes so it takes all multibyte codes (above ASCII 127). So such characters are being "hidden" from normal json_encoding array_walk_recursive($arr, function (&$item, $key) { if (is_string($item)) $item = mb_encode_numericentity($item, array (0x80, 0xffff, 0, 0xffff), 'UTF-8'); }); return mb_decode_numericentity(json_encode($arr), array (0x80, 0xffff, 0, 0xffff), 'UTF-8'); }
以上がPHP が中国語のメソッドをエスケープせずに json_decode を実装する方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。