現在の位置: ホーム> 最新記事一覧> PHPで中国語のJSONを解決する実用的な方法

PHPで中国語のJSONを解決する実用的な方法

M66 2025-08-02

PHPのJSON中国の文字化けの問題の概要

PHP開発中、JSONは一般的に使用されるデータ交換形式として頻繁に使用されます。ただし、多くの開発者が中国のコンテンツを含むJSONデータを処理すると、ページが中国の文字化けコードを出力することがわかります。この現象の理由は、通常、不適切なエンコード設定に関連しています。この記事では、いくつかの一般的な方法を通じてこの問題を解決するのに役立ちます。

正しい応答ヘッダーを設定します

JSONデータを出力する前に、正しい応答ヘッダーがPHPのヘッダー関数を介して設定されていることを確認し、コンテンツの種類と文字エンコードを明示的に指定してください。

 header('Content-Type: application/json; charset=utf-8');

この応答ヘッダーは、返されたコンテンツがJSON形式であり、UTF-8でエンコードされていることをブラウザに伝えます。これにより、漢字がクライアントに文字化けされているように表示されないようにします。

json_encodeを使用するときにパラメーターを追加します

json_encode関数をデフォルトで使用する場合、漢字はUnicodeによってエンコードされます。 JSON_UNESCAPED_UNICODEパラメーターを追加することにより、Carled Codeを防ぐために中国人を維持できます。

 $data = ['name' => 'チャン・サン', 'age' => 25];
$json = json_encode($data, JSON_UNESCAPED_UNICODE);

このようにして、出力JSON文字列の漢字は逃げられないため、通常のディスプレイが保証されます。

MB_CONVERT_ENCODINGを使用した文字変換

いくつかの特別なシナリオでは、応答ヘッダーとエンコードパラメーターが設定されていても、まだ文字化けされたコードがあります。 MB_CONVERT_ENCODING関数を介してJSON文字列のエンコードを手動で変換するようにすることができます。

 $data = ['name' => 'li si', 'age' => 30];
$json = json_encode($data);

// 意思JSONstringからUTF-8に頼りますGBKコーディング
$json = mb_convert_encoding($json, 'GBK', 'UTF-8');

このコードは、結果を特定のエンコード環境(GBKなど)に出力する必要がある状況に適しています。実際のビジネスニーズに応じたターゲットエンコーディングの柔軟な調整。

要約します

JSON中国の文字化けコードは、PHP開発において一般的ですが見過ごされがちな問題です。応答ヘッダーを設定し、 JSON_ENCODEパラメーターを合理的に使用し、必要に応じて変換関数をエンコードする文字エンコードを使用することにより、Garled Codeを効果的に回避できます。開発者は、JSONデータを処理する際にコードの一貫性を維持し、中国の情報を正確に表示できるようにする必要があります。

  • 関連タグ:

    JSON