gpt4 book ai didi

python - 当cursor.fetchall()时出现UnicodeDecodeError

转载 作者:行者123 更新时间:2023-11-29 22:07:33 27 4
gpt4 key购买 nike

我尝试在延迟任务中使用 Python xlsxwriter、webapp2、appengine 将一些数据从 Google Cloud SQL 数据库导出到 Excel 文件。

要写入的数据必须从数据库中检索。

查询执行正常,但是当我尝试使用 cursor.fetchall() 或通过迭代光标从查询中获取数据时,它会抛出以下错误错误:

UnicodeDecodeError:“utf8”编解码器无法解码位置 4 中的字节 0x9f:起始字节无效

堆栈跟踪是:

 for row in cursor:
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/storage/speckle/python/api/rdbms.py", line 689, in fetchone
self._FetchMoreRows()
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/storage/speckle/python/api/rdbms.py", line 606, in _FetchMoreRows
self._DoExec(request)
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/storage/speckle/python/api/rdbms.py", line 448, in _DoExec
return self._HandleResult(response.result)
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/storage/speckle/python/api/rdbms.py", line 487, in _HandleResult
new_rows = self._GetRows(result)
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/storage/speckle/python/api/rdbms.py", line 532, in _GetRows
tuple_proto.values[value_index]))
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/storage/speckle/python/api/rdbms.py", line 402, in _DecodeVariable
return converter(value)
File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/storage/speckle/python/api/converters.py", line 126, in Str2Unicode
return unicode(arg, 'utf-8')
UnicodeDecodeError: 'utf8' codec can't decode byte 0x9f in position 4: invalid start byte

如果我尝试使用 MySQLdb 而不是 rdbms 在本地运行相同的代码,它就会工作。

数据中可能存在一些编码问题,但这应该在写入文件时出现。

我尝试查找一些可能已损坏的数据,但没有找到任何数据。

最佳答案

您没有以 utf8 编码的文本。它是用什么编码的?如果是latin1,则9F代表Ÿ;这有意义吗?找到十六进制为 9f 的行;让我们看看上下文。

关于python - 当cursor.fetchall()时出现UnicodeDecodeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32009758/

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