Python utf8编码问题
我正在开发一个 Python 应用程序,并且在处理字符串时遇到一些问题。
有这个字符串“She’s Out of My League”(不带引号)。我将它存储在一个变量中并尝试将其插入到 sqlite3 数据库中。但是,我收到此错误:
sqlite3.ProgrammingError:您不能使用 8 位字节字符串,除非您使用可以解释 8 位字节字符串的 text_factory(如 text_factory = str)。强烈建议您将应用程序切换为 Unicode 字符串。
所以,我尝试将字符串转换为unicode。我尝试了这两个:
new_str = unicode(old_str)
new_str = old_str.encode("utf8")
但这给了我另一个错误:
UnicodeDecodeError:“utf8”编解码器无法解码位置 49 中的字节 0x92:意外的代码字节
我被困在这里。我做错了什么?
I'm working on a Python application and having some problems handling strings.
There is this string "She’s Out of My League" (without quotes). I stored it in a variable and tried to insert it into an sqlite3 database. But, I get this error:
sqlite3.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.
So, I tried to convert the string to unicode. I tried both of these:
new_str = unicode(old_str)
new_str = old_str.encode("utf8")
But this gives me another error:
UnicodeDecodeError: 'utf8' codec can't decode byte 0x92 in position 49: unexpected code byte
I'm stuck here. What am I doing wrong ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
简单的。您假设它是 UTF-8。
Simple. You're assuming that it's UTF-8.