我在Python中的SQLite3数据库中存储了一些HTML。
当我在我的SQL表中插入一些HTML时,我得到一个错误,我不明白错误&更重要的是如何解决问题。
错误字符串:
异常一般:除非使用可解释8位字节串的text_factory(如text_factory = str),否则不得使用8位字节串。强烈建议您只需将应用程序切换为Unicode字符串。
我插入表格的HTML字符串很长(大约700个字符)。
任何想法都错了&我该如何解决这个问题?
答案 0 :(得分:0)
查看this question的答案,看起来您的问题是您正在尝试插入带有不映射到ASCII的字符的HTML。如果您致电unicode(my_problematic_html)
,您可能会收到UnicodeEncodingError
。在这种情况下,您需要通过调用{/ p>来decode
将有问题的字符串表示形式为unicode
my_unicoded_html = my_problematic_html.decode("utf-8")
然后将my_unicoded_html
写入数据库。
您需要阅读Unicode In Python Completely Demystified。
*请注意,您的HTML 可能在其他编解码器(格式?... charset?)中编码而不是utf-8
。如果你在Windows上(或者如果HTML可能来自Windows机器),latin-1
也是一个很好的猜测。