最近書いた PHP プロジェクトで Ajax テクノロジーが使用され、ユーザー エクスペリエンスが大幅に改善されましたが、同時に新しい問題も発生しました。つまり、Ajax によって返される応答テキスト内の中国語はほとんどがページエンコーディングをUTF -8に指定しても文字化けします。
これは、返されたresponseTextを処理するときに、XMLHttpがUTF-8エンコードに従ってresponseBodyをデコードするためです。サーバーから送信されたデータストリームが実際にUTF-8エンコードされている場合、中国語の文字は正しく表示されますが、GBKの場合は、または、他のエンコーディングでも上記の状況が発生します。
解決策は、XMLHttp が混乱しないように、サーバーから返されたデータ ストリームにヘッダーを追加して、送信されたデータ ストリームのエンコーディングを示すことです。
header('Content-Type:text/html; charset=GB2312');
上記は、PHP における Ajax 中国語文字化け問題の解決策です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。