ホームページ > バックエンド開発 > PHPチュートリアル > json_encode gbk/gb2312 php_PHP チュートリアルの中国語コードが文字化けする

json_encode gbk/gb2312 php_PHP チュートリアルの中国語コードが文字化けする

WBOY
リリース: 2016-07-13 10:23:37
オリジナル
978 人が閲覧しました

json_encode in php gbk/gb2312 中国語文字化け

1.json_encode() gbk/gb2312の中国語 中国語はnullを返します

コードは次のとおりです

$arr = 配列 (

配列 (

'catid' => '4'、

'猫名' => 'www.111cn.net'、

'meta_title' => 'Yiju チュートリアル ネットワーク 2'

)
);

echo json_encode($arr);

結果

[{"catid":"4","catname":"www.111cn.net","meta_title":null}]

「meta_title」:null をご覧になりましたか? これには元々 Yiju Tutorial Network 2 の値がありました。これを確認したところ、原則として json_encode は uft-8 エンコーディングのみをサポートしているということです。それを変換しましょう。

コードは次のとおりです $data="JSON 中国語";
$newData=iconv(“GB2312″,”UTF-8//IGNORE”,$data);
$newData をエコー;
//ignore は、変換中にエラーを無視することを意味します。ignore パラメーターがない場合、この文字に続くすべての文字は保存されません。
//または (“GB2312″,”UTF-8″,$data);
?>

ステップ2

バックグラウンドのPHPページ(ページがUTF-8でエンコードされているか、文字がUTF-8に変換されている)は、json_encodeを使用してPHPの配列配列をJSON文字列に変換します。例:

コードは次のとおりです
$testJSON=array('name'=>'中国語文字列'​​,'value'=>'test');
echo json_encode($testJSON);
?>
出力結果を確認します:
{“名前”:”u4e2du6587u5b57u7b26u4e32″,”値”:”テスト”}

json_encodeを使うとUTF8でエンコードされた文字でも中国語の文字化けが発生することが分かります。解決策は、json_encode を使用する前に関数 urlencode() で文字を処理し、次に json_encode を使用して、結果を出力するときに関数 urldecode() を使用して文字を変換することです。詳細は以下の通りです

コードは次のとおりです

$testJSON=array('name'=>'中国語文字列'​​,'value'=>'test');
//エコー json_encode($testJSON);
foreach ( $testJSON as $key => $value ) {
$testJSON[$key] = urlencode ( $value );
}
echo urldecode ( json_encode ( $testJSON ) );
?>

出力結果を表示します:

{"名前":"中国語文字列","値":"テスト"}

要約: json_encode 関数は uft8 文字列のみを処理できます。中国語の場合、中国語の gbk と uft の長さが異なるため、おそらくバイトをうまく処理できません。これについては詳しく説明しません。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/834971.html技術記事 php gbk/gb2312 の json_encode 中国語の文字化けコード 1. gbk/gb2312 中国語の json_encode() 中国語は null を返します コードは次のとおりです。 $arr = array ( array ( 'catid' = '4', 'catname' = 'www. 111cn.net '、'm...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート