◆やりたいこと
Electron(html+css+javascript)でCSVファイル(文字コードはShift-JIS)を、
文字化けさせずに読み込みたいです。
◆現状
http://qiita.com/shoma2da/items/c77ec534dd36873d73c9
上記URLを参考にして実装した結果、
・MacではShift-JISのCSVファイルを文字化けさせずに読み込むことが出来ました。
・しかし、Windowsで動かすと動作が止まってしまう状態です。
※WindowsのOSはWindows10です。
◆コードと、処理が止まる箇所
var fs = require('fs'); var Iconv = require('iconv').Iconv; var jschardet = require('jschardet'); function readFile_test(filePath) { fs.readFile(filePath, function (error, data) { if (error != null) { alert('error : ' + error); return ; } var notUtf8String = data; alert(notUtf8String);//表示される。※ここまでは動いている。 var detectResult = jschardet.detect(notUtf8String); alert(detectResult.encoding);//文字コードを表示(Windowsでは表示されない。)※ここで処理が止まる var iconv = new Iconv(detectResult.encoding,'UTF-8//TRANSLIT//IGNORE'); var convertedString = iconv.convert(notUtf8String).toString(); alert(convertedString);//文字コード変換後のデータ表示 }); }
※読み込んだデータの文字コードをjschardetで判別し、
Iconvで文字コードをUTF-8に変換しています。
◆他に試したこと
下記のようにjschardetを使わずShit-JIS→UTF-8への変換に限定した場合でも、
Windowsでのみ途中で止まってしまう状況です。
var fs = require('fs'); var Iconv = require('iconv').Iconv; var jschardet = require('jschardet'); function readFile_test(filePath) { fs.readFile(filePath, function (error, data) { if (error != null) { alert('error : ' + error); return ; } alert(data);//表示される。※ここまでは動いている。 var iconv = new Iconv('SHIFT_JIS','UTF-8//TRANSLIT//IGNORE'); var convertedString = iconv.convert(data).toString(); alert(convertedString);//文字コード変換後のデータ表示(Windowsでは表示されない。)※ここで処理が止まる。 }); }
尚、jschardetとiconvは、ターミナルに下記を入力してインストールしました。
npm install jschardet npm install iconv
この症状の原因と対策をご教授いただけると嬉しいです。m(_ _)m
また、やりたいことは
・Shif-JISのCSVファイルを、Javascriptで文字化けさせずに読み込むこと
ですので、別な実現方法がある場合も教えていただけると嬉しく思います。
よろしくお願い致します。m(_ _)m

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/04 07:09
2016/05/04 08:41