//送信パラメータを直接与えると文字化けします
コードをコピー コードは以下の通りです:
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
truehttp://www.bkjia.com/PHPjc/319406.html技術記事 //送信パラメータを直接指定すると文字化けします! http_request.open("POST",url,true); http_request.setRequestHeader('Content-Type', 'application...