文字化けについてUnicodeEncodeError, UnicodeDecodeError
ハマるとマジで抜け出せません。
んで、対応としては以下の原則を必ず守る事です。
- 入力された物はすぐUnicodeにする
- 出力する直前で初めて特定の文字コードにする
- Unicode文字コード以外に変更した変数は使い終わったら捨てる(再利用しない)
- 「""」ではなく、めんどくさくてもソースは「u""」を使う
この原則を守らないと、文字コードの暗黙変換のせいで
マジでハマります、、、、、、
ただーーーーし!!なんと組み込みの公式関数の中にも
Unicodeでなくて、別のUTF-8エンコードの投入をを期待する
組み込みメソッドもいるので、
問題は簡単ではないのです。。。。。。
もう色々やってしまって、直せない場合は応急処置というか
以下の方法でも動かなくは無い。。。。。
ソースコードのファイルをUTF8で統一して書いて
以下の記述を頭に書く。
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf8')
かなり力技なんで、微妙な方法です。
もう少しマイルドな方法としては、「sitecustomize.py」を使う方が
あります。そちらは、Google先生に聞いて下さい。