非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Electronでエディタを作る(ACE使用) ~iconv-liteでShift-JISファイルを読み込む~

      2016/06/11

[ad#top-1]
 

前回、Shift-JISのファイルを読み込んだら文字化けしてしまいました。以下の図の通り。

2

Electronでエディタを作る(ACE使用) ~ローカルファイルの読み込み~

前回同様、エディタライブラリーにACEを使っています。

この件をGoogle+で紹介したら、解決策を教えてもらえました。iconv-liteというライブラリを使います。今回それを紹介します。

iconv-lite 
https://www.npmjs.com/package/iconv-lite

インストールは簡単で、以下のnpmコマンドからインストール可能です。

> npm install iconv-lite

 

次に、editor.js内でパブリック宣言で、

var iconv = require(‘iconv-lite’);

とやれば準備OKです。あとは以下の通りShift-JISからUTF-8へ変換します。8行目がその処理となります。

function readFile(path) {
   fs.readFile(path, function (error, text) {
      if (error != null) {
         alert(‘error : ‘ + error);
         return;
      }
      //以下の1文を加える。strにShift_JIS形式で変換されます。
      var str = iconv.decode(text, ‘Shift_JIS’);
      editor.setValue(str.toString(), –1);
   });
}

 

Electronの長所は様々なライブラリがあることかもしれません。いずれにせよ、これで先に進めそうです。

 
[ad#ad-1]

スポンサーリンク

 - Electron