Python utf8编码问题

发布于 2024-11-09 12:05:53 字数 552 浏览 0 评论 0原文

我正在开发一个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半步萧音过轻尘 2024-11-16 12:05:53

简单的。您假设它是 UTF-8。

>>> print 'She\x92s Out of My League'.decode('cp1252')
She’s Out of My League

Simple. You're assuming that it's UTF-8.

>>> print 'She\x92s Out of My League'.decode('cp1252')
She’s Out of My League
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文