windows-powershell-encoding-skill は何をしますか?
Windows PowerShell上でのUnicode、UTF-8、文字化け問題を回避するためのポータブルなCodexスキル(特に中国語/CJKプロジェクト向け)。
概要
このスキルは、Windows PowerShell環境で作業する際に、エンコーディング関連の一般的な落とし穴を回避するためのベストプラクティスを提供します。主に中国語、日本語、韓国語(CJK)文字を含むプロジェクトを対象としていますが、他のマルチバイト文字セットにも適用可能です。
主な機能
- コードページの設定:
chcp 65001を使用してUTF-8コードページをアクティブにします。 - PowerShellのエンコーディングパラメータ:
Out-File、Set-Content、Add-Contentなどのコマンドレットで-Encoding UTF8を指定します。 - パイプラインの文字化け防止: パイプラインを通じてデータを渡す際に、
[System.Text.Encoding]::UTF8を明示的に使用します。 - ファイル読み取りの注意:
Get-Contentでファイルを読み込む際に、-Encoding UTF8または-Encoding Defaultを適切に選択します。
使用例
# UTF-8コードページを設定
chcp 65001
# UTF-8エンコーディングでファイルに出力
"中国語のテキスト" | Out-File -FilePath output.txt -Encoding UTF8
# UTF-8エンコーディングでファイルを読み込み
Get-Content -Path input.txt -Encoding UTF8
注意点
- Windows PowerShellのデフォルトエンコーディングはUTF-16LE(Unicode)ですが、多くの外部ツールやスクリプトはUTF-8を期待します。
- コンソールのフォントがCJK文字をサポートしていることを確認してください(例:
MS Gothic、Microsoft JhengHei)。 - PowerShell Core (v6以上) では、
-Encoding UTF8NoBOMオプションを使用することで、BOMなしのUTF-8を出力できます。
関連スキル
chianwu-hash/cjk-terminal-fix: CJK端末の文字化けを修正するスキル。chianwu-hash/utf8-bom-handler: BOM付き/なしUTF-8ファイルの取り扱い。