Pythonで文字コードのエラー
環境:
Windows7 Pro 64bit
Python 2.6.6
Pythonでflask storm jinja2を使ってブログを作ろうとして、投稿をしようとしたら
UnicodeEncodeError: 'ascii' codec can't encode characters
in position 0-1: ordinal not in range(128)
というエラーと吐かれた。
pythonファイルやMySQLの文字コードの設定は全部UTF-8になっていたが、Python自体の文字コードが ascii だったのが問題だったみたい。
デフォルトのインストール先
C:\Python26\Lib\site-packages
の中に sitecustomize.py というファイルを作る。
import sys
sys.setdefaultencoding('utf-8')
と中に書く。
C:\>python
Python 2.6.6 ......
>>> import sys #これを書いて
>>> sys.getdefaultencoding() #これも書く
'utf-8'
こう出たらok!