2012年2月27日月曜日

またまたMySQL+Pythonの問題

そういえば、エスケープしてないことに気づいた情弱な俺。
escapeをしようとして。以下の文を書きました。
MySQLdb.escape_string(text);
よし、これで今日のお仕事終わり!!
とはいきませんでした。
なんと、これだとescape_stringはstr型を取る関数らしく。
unicode型を入れるとasciiに変換できないよ!!といわる。
UnicodeEncodeError: 'ascii' codec can't encode characters in position 3-5: ordinal not in range(128)
ちなみに今回登録したい文字列は"なでこ'かわいいよ'なでこ"です。

すこし悩んだのですが
MySQLdb.escape_string(text.encode("utf-8"));
とすると解決しました。

ちょっと、めんどくさいと思った今日この頃

0 件のコメント:

コメントを投稿