Python MySQL 文字コードの指定



MySQLdbを使用して、MySQLに接続。
日本語のデータを登録しようとすると・・・

'latin-1' codec can't encode characters in position  ・・・

というエラーがでて、登録に失敗します。

MySQLの文字コード設定を確認すると、確かに
client latin-1
となっていました。

※DBはutf8で作成

どうしたものかと悩んでいると、
http://groups.google.com/group/turbogears-ja/browse_thread/thread/69bc1ff4d86eca33

この方は、解決しなかったと言われていますが、
私は
con = MySQLdb.connect(db=db, host=host, port=port,user=user, passwd=passwd,charset="utf8")

とcharset="utf8"の記載を追加することで、
エラーを回避することができました。

・・・今度から、MySQLをインストールしたときは
真っ先に文字コードの設定を確認しようと
心に刻んだ次第です。



もどる