ホームページ > バックエンド開発 > PHPチュートリアル > php_PHPチュートリアルのjson_encodeでの中国語文字化けの解決策

php_PHPチュートリアルのjson_encodeでの中国語文字化けの解決策

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-13 10:56:33
オリジナル
1118 人が閲覧しました

大まかな解決策は、JSON を処理するときに文字が UTF8 でエンコードされていることを確認することです。具体的には、データベース エンコーディングとページ エンコーディングの両方を UTF8 に変更できます。もちろん、gbk エンコーディングを使用したい場合は、JSON 処理の前に文字を UTF8 形式に変換できます

1. json_encode()

これは変数の JSON エンコードによく使用される関数ですが、テキストの形式が utf-8 ではない場合、テキストが gb2312 である場合など、中国語のトランスコーディングで問題が発生します


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

$jsonText = 配列 (
0 => 配列 (
'id' => '1',
'名前' => 'テキスト 1'
)、
1 => 配列 (
'id' => '2',
'名前' => 'テキスト 2'
)
);

echo json_encode($jsonText);
//[{"id":"1","name":""},{"id":"2","name":""}]
// 中国語の文字がエスケープされずに空の "" であることがわかります。これは、json がエンコーディングをエスケープするだけであるため (%B0%AE と同様)、上記のステートメントは最初にエンコーディングを変換する必要があります
?>

解決策

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

foreach ($jsonText as $key=>$value)
{
$jsonText[$key]['name'] = urlencode($value['name']);
}
echo json_encode($jsonText);
?>
クライアント処理

最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート