Electronでコマンドプロンプトの日本語が文字化けする

Electron

これありがちですよね。
原因としてはNodejs側のコードがUTF-8で記述されていて、
コマンドプロンプトがShift-JIS(932)で読み込んでいるために発生します。

// command promptで以下のコードを打つと現在の文字コードが表示されます。
chcp

// 文字コードを変更するには chcpに続けて指定したい文字コードを入力します。
chcp 65001

これでUTF-8の日本語で文字化けすることはなくなりました。
めでたしめでたし、、、とはいきません。
この設定変更は保持されません。
コマンドプロンプトは起動するたびにShift-JISで起動しするため、毎回入力しなければいけません。

Electron起動する時に毎回chcp 65001なんて打つのは面倒なのでpackage.jsonに追記しましょう。

  "scripts": {
    "start": "chcp 65001 && electron .",
  },

コマンドプロンプトとかExcelにCSV読ませる時なんかもそうですが、決め打ちでShift-JISで読み込もうとするのやめてもらえませんかね?地味に面倒。。。

コメント