ホームページ  >  記事  >  バックエンド開発  >  PHP学習メモ_エンコーディング(json_encode中国語は表示されません)_PHPチュートリアル

PHP学習メモ_エンコーディング(json_encode中国語は表示されません)_PHPチュートリアル

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

オンラインで解決策を見つけました:

コードをコピーします コードは次のとおりです:

/* json_encode 中国語文字化けの処理*/
$data = array ('game' => '氷と火の国 ', '名前' => '氷の国', 'レベル' =>
echo json_encode ( $data ); br>" ;
$newData = array ();
foreach ( $data as $key => $value ) {
$newData [$key] = urlencode ( $value );
}
echo urldecode ( json_encode ( $ newData ) ) ;
?>

後で他の人にアドバイスを求めたところ、base64エンコーディングも使用できますが、Baiduは次のように説明しました:

標準のBase64は直接送信には適していません。 URL エンコーダは標準 Base64 の「/」および「+」文字を「%XX」などの形式に変更するため、これらの「%」文字はデータベースに保存するときに再度変換する必要があるためです。 ANSI SQL では「%」記号がワイルドカード文字として使用されているためです。

ただし、私のデータは POST 経由で送信され、HTTP ヘッドではなくメッセージ本文にあるため、影響を受けません。

json_encode は utf-8 形式のデータのみを受け入れることができます

urlencodebase64_encode は文字列型のパラメータのみを受け入れることができるため、配列全体をエンコードすることはできません。

http://www.bkjia.com/PHPjc/324558.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/324558.html技術記事インターネットで解決策を見つけました。次のようにコードをコピーします。 ?php /* json_encode の中国語文字化けを処理します*/ $data = array ('game' = '氷と炎の国', 'name' = 'Spirit of Thorns', 「国」=「氷...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。