ホームページ >バックエンド開発 >PHPチュートリアル >php+AJAX で Chinese_PHP 送信時に文字化けする問題の解決方法 チュートリアル

php+AJAX で Chinese_PHP 送信時に文字化けする問題の解決方法 チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:50:03839ブラウズ

//送信パラメータを直接与えると文字化けします

コードをコピー コードは以下の通りです:

http_request.open("POST",url,true); .setRequestHeader('Content -Type', 'application/x-www-form-urlencoded');
http_request.send("action="+strName+"&val="+val); //val の値が中国語の場合, 文字化けが発生します


//解決策は簡単です: JavaScriptのescape(string)関数を使用します

コードをコピー コードは次のとおりです:
http_request.open("POST ",url,true);
http_request.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded');
http_request.send("action="+strName+"&val="+escape(val) )); //val の値は中国語ではありません 文字化け

AJAX で返される ResponseText GET 内の中国語の文字化けに対する最も簡単な解決策
AJAX を使用してページを取得すると、RESPONSETEXT 内の中国語が返される可能性が高くなります。これは、xmlhttp が返された応答テキストを処理しているためです。これは、サーバーが UTF-8 データ ストリームを送信する場合、デコード用に resposeBody をエンコードすることによって形成されますが、GBK では中国語の文字が正しく表示されます。エンコードされたストリームが送信されると、めちゃくちゃになります。解決策は、XMLHTTP が混乱しないように、送信されるストリームに HEADER を追加して、送信されるエンコード ストリームを示すことです。


コードをコピーします コードは次のとおりです:
PHP:header('Content-Type: text/html;charset=GB2312');
ASP:Response.Charset("GB2312")
JSP:response.setHeader("Charset","GB2312");


http://www.bkjia.com/PHPjc/319406.html

www.bkjia.com

http://www.bkjia.com/PHPjc/319406.html技術記事 //送信パラメータを直接指定すると文字化けします! http_request.open("POST",url,true); http_request.setRequestHeader('Content-Type', 'application...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。