2011-09-24 41 views
0

我在Python中的SQLite3数据库中存储了一些HTML。在SQLite数据库中存储长字符串的HTML导致未知错误

当我去插入一些HTML到我的SQL表时,我得到一个错误,我不明白什么是错的&更重要的是如何解决这个问题。

字符串错误:

异常一般:除非你用的是可以解释的8位字节串(如text_factory = STR)一text_factory不得使用8位字节串。强烈建议您改为将应用程序切换到Unicode字符串。

我插入表格的HTML字符串非常长(约700个字符长)。

任何想法什么是错的&我该如何解决这个问题?

+0

你看过吗:http://stackoverflow.com/questions/2838100/pysqlite2-programmingerror-you-must-not-use-8-bit-bytestrings –

回答

0

看看this question的答案,看起来你的问题是你试图插入带有字符的HTML,而不是映射到ASCII。如果您拨打unicode(my_problematic_html),您可能会收到UnicodeEncodingError。在这种情况下,你会想打电话给你的decode有问题的字符串表示为Unicode:

my_unicoded_html = my_problematic_html.decode("utf-8") 

,然后写my_unicoded_html数据库。

您需要阅读Unicode In Python Completely Demystified

*请注意,您的HTML 可以可以在其他一些编解码器编码(格式?...字符集?)不是utf-8。如果您在Windows上(或者如果HTML可能来自Windows机器),则latin-1也是一个很好的猜测。

相关问题