オンラインで解決策を見つけました:
コードをコピーします コードは次のとおりです:
/* 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.comtruehttp://www.bkjia.com/PHPjc/324558.html技術記事インターネットで解決策を見つけました。次のようにコードをコピーします。 ?php /* json_encode の中国語文字化けを処理します*/ $data = array ('game' = '氷と炎の国', 'name' = 'Spirit of Thorns', 「国」=「氷...
」