2020年09月02日

PowerShellスクリプト保存時の文字コードをSJISにするのって、けっこう知られてる?

以前、マウスふるふると同じ機能を実現するPowerShellスクリプトについて、うまく実行できないという相談があり、いろいろあって、保存時の文字コードをShift_JIS(SJIS)にしていなかったことが原因だったことがわかった、ということがありました。

Windowsのメモ帳は、最近になって急に、デフォルトの文字コードをUTF-8にするように仕様変更がありました。
ただ、バッチファイルとかPowerShellスクリプトは、過去との互換性の都合から、勝手にデフォルトをUTF-8とみなすなんてことをしたらSE現場が大混乱しますから、依然としてShift_JIS(SJIS)がデフォルトの文字コードとなっています。

なので、PowerShellスクリプトをコピペしてメモ帳に貼り付けて保存すると、メモ帳はUTF-8だと思って保存するけど、実行時はSJISだと思って実行しようとするので大混乱するという現象が発生します。

というわけで、この報告を受けたときは、ヤベェと思って、保存するときはSJISで保存しましょうということを追記したのですが、よくよく考えてみたら、上記の相談が来た時点で、該当トラブル報告はその1件しかなかったんですよね。

ということは、PowerShellスクリプト保存時の文字コードをSJISにするのって、けっこう知られてて、自然と行われているんでしょうかね。


posted by ayacy at 00:00 | Comment(2) | TrackBack(0) | プログラミング