purazumakoiの[はてなブログ]

技術メモから最近はライフログも増えてきてます。

ajaxでutf-8じゃないと文字化けする対策

jqueryajaxの処理をするときに
よく、shift_jsのhtmlにajaxで外部ファイルを読み込むと、UTF-8じゃないと文字化けすることがある。

これの対策として

$.ajax({
	beforeSend: function(xhr){
    	 xhr.overrideMimeType("text/html;charset=Shift_JIS");
	},
	type: 'GET',
	url: '/hogehoge.html',
	dataType: 'html',
	success: function(data) {
		$('#hogehoge').html(data);
	},
	error:function() {
	}
});

こんな感じで

beforeSend: function(xhr){
  xhr.overrideMimeType("text/html;charset=Shift_JIS");
,

を入れてあげれば回避出来る

  • ただIEだとどうとかあるかもなので一度ブラウザ確認をしっかりと