日本語を取り扱うようになってから、色々面倒なことが起きています。
あるPythonスクリプトをMacで実行すると、以下のようなエラーメッセージが表示されました。
PythonのバージョンはPython 2.7。
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 3: ordinal not in range(128)
デフォルトエンコーディングをutf-8に変更
スクリプトに以下の三行を追加して、デフォルトエンコーディングを変更することによりエラーは発生しなくなった。
import sys reload(sys) sys.setdefaultencoding("utf-8")
この方法は、スクリプトの実行環境だけで有効となります。
補足
sys.getdefaultencoding()の使用については、色々と問題があるようです。
python - Why should we NOT use sys.setdefaultencoding("utf-8") in a py script? - Stack Overflow
エンコードを変更してしまうので、当然と言えば当然ですが、かと言って解決策としての手段が「3.x系へのバージョンアップすること」では、問題があっても使用せざるを得ないですよね。。。