ホームページ  >  記事  >  バックエンド開発  >  PHPにおけるAjax中国語文字化け問題の解決

PHPにおけるAjax中国語文字化け問題の解決

巴扎黑
巴扎黑オリジナル
2016-11-10 10:56:39939ブラウズ

最近書いた PHP プロジェクトで Ajax テクノロジーが使用され、ユーザー エクスペリエンスが大幅に改善されましたが、同時に新しい問題も発生しました。つまり、Ajax によって返される応答テキスト内の中国語はほとんどがページエンコーディングをUTF -8に指定しても文字化けします。

これは、返されたresponseTextを処理するときにXMLHttpがUTF-8エンコーディングに従ってresponseBodyをデコードするためです。サーバーから送信されたデータストリームが実際にUTF-8エンコーディングである場合、中国語の文字は正しく表示されますが、GBKの場合は中国語の文字が正しく表示されます。または、他のエンコーディングでも上記の状況が発生します。

解決策は、XMLHttp が混乱しないように、サーバーから返されたデータ ストリームにヘッダーを追加して、送信されたデータ ストリームのエンコーディングを示すことです。


PHPコード

header('Content-Type:text/html; charset=GB2312');



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