ホームページ  >  記事  >  バックエンド開発  >  gbk および gb2312 の中国語文字化け問題に対処するための PHP の json_encode の解決策、_PHP チュートリアル

gbk および gb2312 の中国語文字化け問題に対処するための PHP の json_encode の解決策、_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:23:23732ブラウズ

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.comtru​​ehttp://www.bkjia.com/PHPjc/840739.html技術記事 php の json_encode で gbk と gb2312 の中国語が文字化けする問題の解決方法 この記事では、php の json_encode で gbk と gb2312 の中国語が文字化けする問題の解決方法について説明します。 .
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。