gpt4 book ai didi

python - python SQLalchemy库的sqlite数据库非ascii字符错误

转载 作者:搜寻专家 更新时间:2023-10-30 22:17:42 24 4
gpt4 key购买 nike

当我将 sqlite3 数据库与 sqlalchemy 库一起使用时,出现此错误

sqlalchemy.exc.ProgrammingError: (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.
u'INSERT INTO model_pair (user, password) VALUES (?, ?)' ('\xebE\xc2\xe4.\t312874@gg.com', '123456')

这里是一些测试数据:

 呆呆 3098920@gg.com        11111                                                             
�言 9707996@gg.com 11111
wwwj55572@gg?€? 11111

我已将数据库编码配置为 utf-8 或 gbk 但均未成功插入时,我尝试 str.decode('gbk'),它会像 € 一样卡在 char 上并出现如上所示的错误。

谁能告诉我如何解决这个错误?

最佳答案

尝试将 '\xebE\xc2\xe4.\t312874@gg.com' 更改为 u'\xebE\xc2\xe4.\t312874@gg.com'

此外,您可以尝试执行 '\xebE\xc2\xe4.\t312874@gg.com'.decode("utf-8"),但它会给出错误“invalid continuation byte”,也许你的字符串毕竟不是有效的 utf-8?

顺便说一句,请注意你运行的是 python 2.x 还是 3.x,这是有区别的。

关于python - python SQLalchemy库的sqlite数据库非ascii字符错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9274450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com