古いWindowsのPowershellでメールを送ると文字化けする

古いWindows(Windows Server 2008 R2) のPowershell(Ver 2.0)で、メールを送付すると、「-Encoding」でUTF8を指定していても文字化けする事象に遭遇した。

Powershellのスクリプトは、Windows10で、VS Codeを使って書き、文字コードはUTF8にしている。そこで開発したスクリプトファイルを、古いWindowsに持って行って実行する。実行は問題なくできるのだが、そのスクリプトから送られてくるメールが文字化けしてしまう。

Powershellのスクリプトファイル(.ps1)をみてみると、BOMなしで保存されている。これをBOMありで保存しなおして、古いWindows環境で実行してみると、文字化けが解消した。古いWindows環境のメモ帳では、文字化けせずに開けたが、Powershellの実行環境だと、BOMがないとSJISで開いているようで、ここで文字化けが発生している。

Powershellのスクリプトを作成するときは、UTFの場合は、BOMありで保存する。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする