ホームページ  >  記事  >  バックエンド開発  >  json phpの中国語文字化け問題を解決する方法

json phpの中国語文字化け問題を解決する方法

藏色散人
藏色散人オリジナル
2021-01-26 09:53:302438ブラウズ

json php の中国語文字化けコードの解決策: 1. データベース、フロントエンドおよびバックエンドの PHP ページのエンコーディングが一貫していることを確認します; 2. PHP 関数 urlencode と JS 関数 decodeURI を設定して使用します; 3.文字列エンコード変換関数「iconv」を使用します。

json phpの中国語文字化け問題を解決する方法

#この記事の環境: Windows7 システム、PHP7.1、Dell G3 コンピューター。

推奨: 「PHP ビデオ チュートリアル

PHP JSON 中国語文字化け解決策

Ajax を使用していることはわかっていますPHPバックエンドとやり取りする際によくある中国語の文字化け JSONはXMLと同様のデータ交換形式であるため、PHPを使ってやり取りする場合にも中国語の文字化けが発生します 中国語文字化けを解決する方法と考え方PHP JSON の文字化けは実は PHP と同じ Ajax 値転送での中国語文字化けの解決法も同様ですが、以下では PHP JSON での中国語文字化け問題の解決方法をチュートリアル形式で詳しく紹介します。

PHP が JSON と対話するときに中国語の文字化けが表示されるのはなぜですか?

JSON は JS と同じであるため、クライアント上の文字は UTF8 の形式で処理され、つまり、JSON の送信または受け入れによって返された文字は UTF8 の形式で処理されます。 、データベースのエンコードと PHP ページのエンコードの場合、UTF8 形式が使用されていない場合、PHP が JSON と対話するときに中国語の文字が文字化けします。

PHP JSON での中国語の文字化けを解決する方法

PHP が JSON と対話するときに中国語の文字化けが生成される理由を理解した後、解決策は実際にははるかに簡単です。

中国語の文字化けした PHP JSON を解決する方法 1: データベース、フロント ページとバック PHP ページのエンコーディングが一貫していることを確認します

中国語の文字化けを解決する最も簡単な方法PHP JSON の文字化けは、データベースのエンコーディングを確保するためであり、PHP ページのエンコーディングは一律に UTF8 形式を使用します。PHP の初心者にとって、Web サイトを構築するときにデータベースに UTF8 形式を使用するのが最善であり、多くのトラブルを軽減できます。

PHP JSON 中国語文字化けの解決方法 2: PHP 関数 urlencode と JS 関数 decodeURI() を設定して使用する

PHP が JSON を使用してフロント インターフェイスと対話する場合、 end JS, use json_encode 関数の前に、urlencode 関数を使用して URL をエンコードする必要があります。JS クライアントは、中国語の情報を読み取る前に、JS 関数 decodeURI() を使用して URL をデコードします。

注: 配列を JSON 形式に変換するなど、PHP ページで JSON を介して対話する場合は、まず urlencode 関数を使用して配列のキーと値を URL エンコードし、次に json_encode 関数と urldecode 関数を使用します。 。

PHP JSON 中国語文字化けを解決する 3 つの方法: 文字列エンコード変換関数を使用する

データベースのエンコードと PHP ページのエンコードがさまざまな理由で一致しない場合、既存のデータベース エンコーディングは GB2312 を使用します。JSON を操作する場合は、文字列エンコーディング変換関数を使用して文字セット間で変換する必要があります。一般的に使用される関数には iconv があります。iconv は PHP 構成環境のサポートを必要とするため、サポートされていない場合は、独自の gbk および UTF8 エンコード変換関数を作成することでエンコード変換を実装できます。

ここまで、PHP JSON の中国語文字化けに対する 3 つの解決策を紹介しましたが、実際、PHP 開発において、PHP と AJAX/JS の間で同様のやり取りが発生した場合、これらの方法は基本的に中国語が文字化けしたときに使用されます。考え方は似ています。

以上がjson phpの中国語文字化け問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。