【发布时间】:2011-07-15 18:20:54
【问题描述】:
在扔西红柿之前,先解释一下我的问题(我先阅读了python unicode doc)。
我使用 json 模块将 json 格式的结果解析为字典。这给了我 unicode 编码的字符串(例如:u“My string t\xf4t”)。然后我使用 Mysqldb 将此字符串存储在我的 Mysql 数据库中。我准确地说这些数据库是为 utf8 配置的。
然后我检索我的 Mysql 记录,仍然使用 MysqlDB。现在我打印的结果看起来像“我的字符串 t\xf4t”(没有 u)。 由于我需要比较插入的字符串和检索的字符串,我必须告诉 python 我的检索字符串是未编码的。
无论我尝试什么,我都会遇到 UnicodeDecodeError。我尝试使用编码:unicode(storedInDB,“utf_8”)和错误参数(“replace”)。但我还是有例外。
你有提示吗?
感谢您的帮助!
【问题讨论】:
-
你用
use_unicode = True打电话给MySQLdb.connect吗? -
我忘了看这个(几个月前我在使用 java 和 jdbc 时遇到了同样的问题......)。你解决它!
标签: python unicode encoding character-encoding