6
私は、ロギングシステムによってメッセージを出力するスクリプトや、時にはprintコマンドを使用します。 Windowsコンソールに私はPythonのエンコーディングエラーを防止する
Traceback (most recent call last):
File "C:\Python32\lib\logging\__init__.py", line 939, in emit
stream.write(msg)
File "C:\Python32\lib\encodings\cp850.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2019' in position 4537:character maps to <undefined>
のようなエラーメッセージを取得ロギングシステム内のすべてのエンコーディングを作るための一般的な方法は、フェイルセーフ(エラーを無視)など、印刷コマンドはありますか?
をしかし、私はエンコードを事前場合、すべての文字列は、彼らがで彼らの行動を変えるかもしれない(バイト)の種類を変更:
編集ロギングのための一般的な解決策が必要な場合は、
StreamHandler
サブクラス化することができますインテリア?また、内蔵のコーデックライブラリにもあります。私はそれを変えることはできません。コーデックでオプションを設定できますか? – Gerenukもちろん、印刷/ロギングの前にそれらをエンコードするだけです。 – schlamar
一般的なロギングソリューションで自分の答えを編集しました。 – schlamar