2011-09-24 40 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也是一個很好的猜測。

相關問題