2015年12月29日火曜日

[Windows][フェイスオブジェクト]コマンドプロンプトで日本語が文字化けするときの対処 (UTF-8)

2015年12月18日 I wish i were a drone... 
オフィスの扇風機。土台が重過ぎて飛べないドロイドみたいでかわいくないすっか!?

最近、gruntなどnode.jsベースのツールをコマンドプロンプトで使用することが多くなり、実行するとメッセージが文字化けすることがあったので調べてみました。

※注意※

日本語が表示できても、IMEで日本語を直接入力することはできません。
文字列のコピー&ペースはできます。
Windows 7以降で確認しています。

メモ

  • コマンドプロンプトの文字コードは、デフォルトでMS932(shifit_jis)
  • node.jsの文字コードは、utf-8
なので、デフォルトのコマンドプロンプトに出力される文字列は、utf-8なので文字化けします。

対応したこと

  • コマンドプロンプトの文字コードをutf-8に変更する
  • コマンドプロンプトの起動時に文字コードを自動的にutf-8に設定する

コマンドプロンプトの文字コードをutf-8にする

chcp 65001

shift_jisに戻すには、次のコマンドを実行します。

chcp 932

コマンドプロンプトの起動時に文字コードを自動的にutf-8に設定する


レジストリに登録する方法とショートカットにコマンドプロンプトのショートカットにオプションを追加する方法の2通りあるようです。レジストリは、あまりいじりたくないので、コマンドプロンプトのショートカットにオプションを追加することにします。




  1. コマンドプロンプトのショートカットのアイコンを右クリックして[プロパティ]をクリックします。
  2. プロパティのダイアログボックスが表示されるので、リンク先のcmd.exeに次のオプションを追加します。
    %windir%\system32\cmd.exe /K "chcp 65001"

参考資料




0 件のコメント:

コメントを投稿