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として正しく認識されます。

中村 さくら

中村 さくら

マネー&キャリアエディター

エンタメ・カルチャー業界の深掘り取材を得意とし、現場のリアルな声をお伝えします。

Share this article
Twitter Facebook Pinterest