開発したアプリなど一覧

Python の defaultencoding を変更する。

記事内にアフィリエイトリンクを含む場合があります

ちょっと BeautifulSoup をいじってたら以下のエラーが出た。

>>> bs.findAll('div') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 93-103: ordinal not in range(128)

あれ、先週は動いてたのにな・・・と思いながら encoding を確認すると・・・

>>> import sys >>> sys.getdefaultencoding() 'ascii'

となってる。何故先週は動いたし。

とりあえず設定しなおそう。Ubuntu9.10だと、

/usr/lib/python2.6/sitecustomize.py

が対象のファイルになるらしい。こいつは /etc 以下にあるファイルのシンボリックリンクの様なので、それを以下の様に編集する。

$ cat /etc/python2.6/sitecustomize.py (略) import sys sys.setdefaultencoding('utf-8')

上書きしたら確認。

$ python >>> import sys >>> sys.getdefaultencoding() 'utf-8'

これでおk

Sponsored Link

コメント

タイトルとURLをコピーしました