INASOFT 管理人のひとこと


フリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。
2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。
・INASOFT Webサイト: https://www.inasoft.org/
・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/
2022年7月下旬より再び本業多忙化してきているため、更新頻度は落ちます。 [2022/7/24 19:32]

目次 | ←前へ / 2020-09-02 00:00 / 次へ→ / 最新へ⇒

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

2020年 9月 2日(水) 0:00:00 [さくらのブログから転記]



RSSRSS配信中
https://www.inasoft.org/



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

Windowsのメモ帳は、最近になって急に、デフォルトの文字コードをUTF-8にするように仕様変更がありました。

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

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

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

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



Posted by ff at 2020/09/02 10:56:01
UTF-8のときはBOMを付けると正常動作します。Unicode文字をPowerShellスクリプトで扱うときはBOM付きUTF-8にする必要があります。


Posted by Ayacy at 2020/09/02 15:25:13
補足ありがとうございます。


目次 | ←前へ / 2020-09-02 00:00 / 次へ→ / 最新へ⇒


目次の表示:


ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメールフィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。
当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。本ページは公開から1年半後の任意のタイミングで削除される予定です。


- 最近の更新 -



3129381 (+0313)[+0447]

Copyright© 2010-2024 INASOFT