Home > 技術 > PythonのMySQLdbでlatin-1なんたらエラーが出る時の対策

PythonのMySQLdbでlatin-1なんたらエラーが出る時の対策

  • 2010-11-05 (金) 9:48
  • 技術

※Python初心者です

最近、Skypeのログ取りbotを作ろうと奮闘していました。

Linux上で動くSkype用のbotを作る方法
というエントリを元に奮闘したんですが、何故かXvfb上のSkypeがうまく動かなくて純粋なこの方法は挫折。。
まぁ、バカらしいけれど、このためだけにubuntuデスクトップ版のVMを立てることにして、Skypeが起動しない問題は解決。

で、Pythonなんか書いた事のない僕には結構苦戦したのだけど…
あ、当然環境はUbuntuのデスクトップ版です。バージョンは10.10

(1) まず /usr/lib/python2.6/site.py の 456行目ぐらいの所を変更
+ encoding = “ascii”
- encoding = “utf-8″

(2) 次に /usr/lib/python2.4/site-package/sitecustomize.py を作成、中身は以下。
import sys
sys.setdefaultencoding(’utf-8′)

(3) あとはMySQLdb.connectメソッドの引数に
, charset=”utf8″
を追加。

これで全部です。

一部いらないのがあるかもしれないんで、下から順にやってみてください。

(参考)
UnicodeEncodeErrorが発生した場合は、sitecustomize.pyでデフォルトのエンコーディングを指定する。 – SumiTomohikoの日記

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://blog.s-satoshi.net/tech/python-mysqldb-latin1-utf8/trackback/
Listed below are links to weblogs that reference
PythonのMySQLdbでlatin-1なんたらエラーが出る時の対策 from S.Satoshiのブログ

Home > 技術 > PythonのMySQLdbでlatin-1なんたらエラーが出る時の対策

Search
Feeds
Meta

Return to page top