以下のようなコードでajax通信を行うと、title, articleに日本語がセットされた際文字化けします。送信元のhtmlがShift_JISで書かれているので、beforeSendで明記すれば解決するかと思いましたが直りません。どうすれば解決できるでしょうか?
$.ajax({
beforeSend: function(xhr){
xhr.overrideMimeType("text/html;charset=Shift_JIS");
},
type: "POST",
url: "message_send.html",
data:{
"title": title,
"article": article
},
success:function(){
alert("success");
},
failure:function(){
alert("failure");
},
});
確認していただきたいのですが、そのリクエスト先でShift-JISのURLデコードをしているのではありませんか?
もしそうであれば、jQueryのデフォルトエンコードを無効にして、自分でShift-JISでのURLエンコードを実装するしかないと思います。
ググったところこのようなライブラリがあるようです。
http://www.junoe.jp/downloads/itoh/enc_js.shtml