同僚が作成したシェルスクリプト
を実行しときに、'cp932' codec can't encode character '\u2013' in position 231: illegal multibyte sequence
というエラーコメントが出た際に、解決したときのメモです。
※ シェルスクリプト
だけでなくpython
でも同様のエラーが発生する可能性があるようです。
発生したエラー
******@forET MINGW64 ~/Downloads $ ./dynamo_diff.sh 'cp932' codec can't encode character '\u2013' in position 231: illegal multibyte sequence
解決方法
コントロールパネルから言語設定を変更する
Unicode(UTF-8)を選択する
ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用(U)
にチェックを入れる
私の環境では上記変更だけで、シェルスクリプトは動くようになりました。
弊害
この設定変更を放置したところ、いくつかの弊害が生じました。
影響の範囲は不明ですが、OSの設定を変更していることになると思うので影響が出るのは当然なきがします、、
シェルスクリプトはその場だけだったので、「設定元に戻しておこうかな~!」って感じです。