文字化けについて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先生に聞いて下さい。