Windous環境においてPython
のopen()
関数を使用して日本語を含むファイルを開こうとすると以下のようなエラーが発生します。
UnicodeDecodeError: 'cp932' codec can't decode byte 0xef in position 60: illegal multibyte sequence
参考にさせていただいた、こちらの記事でプログラムにエンコードを追加することでエラーを回避する方法をご教授して頂きました。
ただ、Python
のopen()
関数を使用する箇所全てにエンコードを追加するのは辛い。
パッケージをインストールするたびにopen()
関数を使用する箇所全てにエンコードを追加するのは辛い。
ということで、Python
のopen()
関数にまとめてUTF-8
エンコードを指定できないか調査をしました。
結果、Windows10
の以下のバージョンから対応できることが分かったので手順を記載します。
バージョン
以下OSバージョンで動作することを確認しました。
バージョン:1709
以前だと対象の機能が実装されていないので以下の手順は行えません。
バージョン:1709
~1809
の間のバージョンは検証できていません。
手順
3.ワールドワイド言語サポートで Unicode UTF-8 を使用
をチェックし、OK
ボタンを押下する。
4.システムの再起動を求められるので、再起動を行う。
結果
Windows10環境でパッケージcfn-lint
を使用して日本語を含むファイルをチェックすることができました。
$ cfn-lint test.yaml
E0000 did not find expected key
test.yaml:2:3
おわりに
ワールドワイド言語サポートの機能ですが、画面キャプチャにもある通りベータの機能なので、使用することにより他の機能に影響がある可能性があります。
この記事を書いた時点ですべての影響範囲を検証できていません。
使用される方はご自身の責任の範囲にてお願いします。