ホームページ  >  記事  >  バックエンド開発  >  php_PHP チュートリアルの json_encode における中国語エンコーディングの問題の分析

php_PHP チュートリアルの json_encode における中国語エンコーディングの問題の分析

WBOY
WBOYオリジナル
2016-07-21 15:24:47950ブラウズ

例: json_encode 処理後、「Xu」は「u80e5」になり、最終的な json の中国語部分は Unicode エンコーディングに置き換えられます。私たちが解決しなければならないのは、オブジェクトを json に変換し、オブジェクト内の中国語が json 内で通常の中国語として表示されるようにすることです。json_encode を使用するだけでは目標を達成できないようです。私の解決策:最初にクラスの中国語フィールドをURLエンコード(urlencode)し、次にオブジェクトをJSONエンコード(jsonencode)し、最後にJSON、つまり最後のJSONをURLデコード(urldecode)します。内部の中国語は依然として同じ中国語です!
テストコードは次のとおりです:

コードをコピーします コードは次のとおりです:
class myClass {
public $item1 = 1;
public $item2 = '中国語';
function to_json() {
//URL エンコード、json_encode による中国語から Unicode への変換を回避
$this->item2 = urlencode($this->item2);
$str_json = json_encode($this); json の変換後にデコードし、オブジェクトの属性が変更されていないことを確認するために各属性を返します
$this->item2 = urldecode($this->item2);
return urldecode($str_json);新しい myClass();
echo '
';
echo '
$c);
echo '
';


プログラムの出力結果:



コードは次のとおりです:

{"item1":1, "item2":"u4e2du6587"}
{"item1":1,"item2":"中国語"}
{"item1":1,"item2":"u4e2du6587"}
"u80e5"

この記事から始めていただければ幸いですガイドとして皆様からより良い解決策を集めましょう…! http://www.bkjia.com/PHPjc/324250.html
www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/324250.html
技術記事
例: json_encode 処理後、「Xu」は「u80e5」になり、最終的な json の中国語部分は Unicode エンコーディングに置き換えられます。私たちが解決しなければならないのは、オブジェクトを json に変換し、オブジェクトの内部コンテンツを確保することです...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。