Electronでエディタを作る(ACE使用) ~iconv-liteでShift-JISファイルを読み込む~
2016/06/11
[ad#top-1]
前回、Shift-JISのファイルを読み込んだら文字化けしてしまいました。以下の図の通り。
前回同様、エディタライブラリーに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]
スポンサーリンク