ツイート
シェア
LINEで送る
B! はてぶでブックマーク
Pocketでブックマーク
RSSフィード

Python, Windows環境でUTF-8のファイルを読み込む

python image
イラストダウンロードサイト【イラストAC】
の画像をもとに加工しています。

Windows環境のPythonでUTF-8のファイルを読み込むと、

UnicodeEncodeError: 'cp932' codec can't encode character '\xe2' in position 4703: illegal multibyte sequence

が発生します。それを修正します。

UnicodeEncodeErrorが発生する理由

windowsでファイルを扱うときのデフォルトの文字コードは、

cp932

この状態でutf-8のファイルを読み込むと、cp932で読み込もうとして、

UnicodeEncodeError

が発生します。

encodingで文字コードを指定する

これを修正するには、encodingで読み込むファイルの文字コードを指定します。

f_add = open(out_file + '.tmp', 'a', encoding='utf-8')

これで、Linux(Mac)とWindows で処理結果が同じになります。

bom付きutf-8を読み込む方法

bom付きutf-8を読み込むときは、

utf-8_sig

を使います。

bom付きutf-8は、エクセルなどで採用されているutf-8で、windows以外で使うことはありません。

Windowsで開発するとき、

文字コード: utf-8

改行コード: LF

にあらかじめ設定することをおススメします。

プログラムはマイクロソフト製のほうが特殊ですから。

そもそもMacを使えば? とも思います。しかし、会社のPCはWindowsが主流でエンドユーザがWindowsが多いので、ドキュメント作成、テストなどを考えるとそうなります。

エンドユーザさんって、Word・Excelなどマイクロソフト製品でドキュメント作成を求めるんですよね?

Macはコスト高になるからでしょう。フリーランスなどである程度余裕のある人は、Macを使うのが一番いいと思います。

PythonでCSS, JavaScript, HTMLの圧縮ツールを作る
次の投稿

最近ITカテゴリでよく読まれている記事です。

domain image

ドメイン取得の意味が分からない人へ。王道の方法を紹介します。

ドメインの登録業者を選ぶのに悩む必要はないです。サイトを簡単に早く公開するには全くいらないことで、むしろ邪魔です。『お名前.com』というサービスは必ず耳にします。そのお名前.comのメリットとデメリットと一緒に、ドメインの意味が分からない人が一番失敗しないドメインの取得方法を紹介します。

tadtadya.com
コメントを残す

*