Goal
ショートカット設定でPowerShell起動時に文字コードをUTF-8に変える。
経緯
プログラムをコンソールから実行した時、
日本語が含まれていると文字化けが
発生します。
特にWindowsでは、UIの文字コードを
UTF-8にするためには、システム全体の
表示言語を英語にする必要があり、
UIは日本語、文字コードはShift-JIS
(CP932、Windows-31J)を妥協して
使っている方が多いと思います。
プログラムをコンパイルして実行する前に、
chcp 65001
を打ち込んで文字コードを
変える儀式を繰り返すことは無駄だと
気付いた時、即座にリンク先の中に
下記の内容を記述しましょう。
手順
- PowerShellショートカットのプロパティを開く。
- リンク先を編集する。
- プロパティのOKボタンをクリックする。
詳細説明
PowerShellのショートカットの場所を開く。
# 1. エクスプローラで下記のパスを開く。
%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell
プロパティを開く。
起動時の設定を入力する。
# 2. リンク先を編集する。
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -NoExit -Command "chcp 65001"
# オプション説明
-NoExit : 次のコマンドを実行した後、PowerShellが閉じないようにする。
-Command: 今回は、"chcp 65001"を実行する。
# 3. プロパティのOKボタンをクリックする。
おまけ(コマンドプロンプトで同じことをする。)
%windir%\system32\cmd.exe ~ /k "chcp 65001"
~ : 作業フォルダが指定されていない時、ショートカットの置いてある
ディレクトリをカレントディレクトリにする。
/k: 指定したスクリプトを実行する。