2. プロファイルをメモ帳で開く
2. プロファイルをメモ帳で開くに関する専門家の意見を丁寧に解説いたします。
Q1:chcp 65001を実行したのに、外部コマンドの日本語出力が化けたままなのはなぜですか?
A1:chcp 65001はコンソールの表示コードページを変更するコマンドであり、PowerShell内部のプロセス間通信エンコード($OutputEncoding)までは書き換わりません。外部ツールの出力をパイプラインで受け取る場合は、必ず$OutputEncoding = [System.Text.Encoding]::UTF8もセットで設定してください。
Q2:PowerShell 7へアップデートすれば文字化けは完全に発生しなくなりますか?
A2:PowerShell 7環境下では内部処理やデフォルトのファイル出力がUTF-8に統一されるため、単体での文字化けは劇的に激減します。ただし、呼び出す外部ツール側がShift-JIS固定で出力している場合などは依然として文字コードのズレが生じるため、受け取り側のエンコード設定を個別に合わせる必要があります。
Q3:作成したPowerShellスクリプト(.ps1)を他者のPCで動かすと文字化けします。回避策はありますか?
A3:対象環境がWindows PowerShell 5.1である可能性がある場合、スクリプトファイルをテキストエディタで「BOM付きUTF-8(UTF-8 with BOM)」として保存するのが最も安全な対策です。BOMが付与されていることで、古いPowerShellエンジンでもUTF-8として正しく認識されます。