最近書いた PHP プロジェクトで Ajax テクノロジーが使用され、ユーザー エクスペリエンスが大幅に改善されましたが、同時に新しい問題も発生しました。つまり、Ajax によって返される応答テキスト内の中国語はほとんどがページエンコーディングをUTF -8に指定しても文字化けします。
これは、返されたresponseTextを処理するときにXMLHttpがUTF-8エンコーディングに従ってresponseBodyをデコードするためです。サーバーから送信されたデータストリームが実際にUTF-8エンコーディングである場合、中国語の文字は正しく表示されますが、GBKの場合は中国語の文字が正しく表示されます。または、他のエンコーディングでも上記の状況が発生します。
解決策は、XMLHttp が混乱しないように、サーバーから返されたデータ ストリームにヘッダーを追加して、送信されたデータ ストリームのエンコーディングを示すことです。
著作権表示: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。
以上、GB2312の内容も含めてPHPにおけるAjaxの中国語文字化け問題の解決方法を紹介しましたので、PHPチュートリアルに興味のある方の参考になれば幸いです。