为什么我在 Mysql SELECT 查询期间收到此 UnicodeDecodeError?
Why am I getting this UnicodeDecodeError during a Mysql SELECT query?
我是 运行 一个非常基本的脚本,它正在查询 MySQL table,但我 运行 遇到了一个我找不到的错误在线的。我在网上看到很多charmap/codec相关问题,但都与阅读文本或数据有关。
当我尝试 MySQL SELECT 查询时,或者至少我认为是这样。
有谁知道为什么 Python 会在这上面出错?
我的代码是这样写的:
第188行是错误发生的地方。
请看下面的回答:
Encoding Issue - MySQL
在创建连接时添加额外参数应该可以解决您的问题。
con = mdb.connect('loclhost', 'root', '', 'mydb', use_unicode=True, charset='utf8')
谢谢。
alt
列包含 OSC
control character (0x9d)。好像是数据问题。您可以尝试替换字符以验证问题所在,但长期解决方案应该是不允许字符串中出现这些字符,将它们转换为 html 实体,或指定连接字符集。
SELECT id, REPLACE(alt, UNHEX('9D'), '') ...
另见 this。
我是 运行 一个非常基本的脚本,它正在查询 MySQL table,但我 运行 遇到了一个我找不到的错误在线的。我在网上看到很多charmap/codec相关问题,但都与阅读文本或数据有关。
当我尝试 MySQL SELECT 查询时,或者至少我认为是这样。
有谁知道为什么 Python 会在这上面出错?
我的代码是这样写的:
第188行是错误发生的地方。
请看下面的回答: Encoding Issue - MySQL
在创建连接时添加额外参数应该可以解决您的问题。
con = mdb.connect('loclhost', 'root', '', 'mydb', use_unicode=True, charset='utf8')
谢谢。
alt
列包含 OSC
control character (0x9d)。好像是数据问题。您可以尝试替换字符以验证问题所在,但长期解决方案应该是不允许字符串中出现这些字符,将它们转换为 html 实体,或指定连接字符集。
SELECT id, REPLACE(alt, UNHEX('9D'), '') ...
另见 this。