gbk および gb2312 の中国語の文字化け問題に対処するための PHP の json_encode の解決策、
この記事では、phpのjson_encodeでgbkとgb2312の中国語が文字化けする問題の解決方法を説明します。 具体的な方法は以下の通りです。
1.json_encode() 中国語は gbk/gb2312 の中国語に対して null を返します
リーリー
実行結果:
リーリー
「meta_title」:null を見てみましょう。元々は「Bangkezhijia」という値でした。原則として、json_encode は uft-8 エンコードのみをサポートしています。
リーリー
2. バックグラウンドの PHP ページ (ページが UTF-8 としてエンコードされているか、文字が UTF-8 に変換されている) は、json_encode を使用して PHP の配列を JSON 文字列に変換します。例:
リーリー
出力結果を表示します:
リーリー
json_encodeを使うとUTF8でエンコードされた文字でも中国語の文字化けが発生することが分かります。解決策は、json_encode を使用する前に関数 urlencode() で文字を処理し、次に json_encode を使用して、結果を出力するときに関数 urldecode() を使用して文字を変換することです。詳細は以下の通りです
リーリー
出力結果を表示します:
リーリー
まとめ:
json_encode 関数は uft8 文字列のみを処理できます。中国語の場合、中国語の gbk と uft の長さが異なるため、おそらくバイトをうまく処理できません。これについては詳しくは紹介しません。
http://www.bkjia.com/PHPjc/840739.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/840739.html技術記事 php の json_encode で gbk と gb2312 の中国語が文字化けする問題の解決方法 この記事では、php の json_encode で gbk と gb2312 の中国語が文字化けする問題の解決方法について説明します。 .