Help us understand the problem. What is going on with this article?

jQueryでShiftJISエンコードされたCSVを処理する

More than 1 year has passed since last update.

想定状況

jquery(1.10)を用いてajaxでCSV(Shift-JIS)を取得する

問題点と解決方法

問題:Shift-JISがうまくエンコードできずに文字化けする

解決方法

1)ファイルのエンコードを変更する

ShiftJISエンコードできるようにまずhtmlとjsをShiftJISにエンコードします。
エンコードにはDreamweaverを使いました。

  • JSファイル(Shift-JIS)
  • HTMLファイル(Shift-JIS) ※meta charset=utf-8になっていないか注意

2)サーバサイドで送出文字コードを指定する

.htaccess

AddDefaultCharset Shift-JIS

補足

overrideMimeTypeが実装されているブラウザ(IE10+,Chrome,Firefox)であれば
以下のようにajax側でmimetypeをオーバーライドすれば対応できます。

$.ajax({
    beforeSend : function(xhr) {
        xhr.overrideMimeType("text/plain; charset=shift_jis");
    },
    url : 'dummy.csv',
    dataType : 'text'
}).done(function(text) {
    //処理
});

参考 IEでもできた! jQuery.ajaxでShift JIS(sjis)の外部HTMLを読み込む時の文字化け回避方法

svartalfheim
渋谷でiOS(Swift, Objective-C)書いたりしてます!
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away