Django UnicodeDecodeError:'utf8' 编解码器无法解码 pyodbc-azure

1 投票
1 回答
916 浏览
提问于 2025-04-18 02:19

我在用 pyodbc-azure 1.1.5 这个工具,把我的 Django 项目连接到 SQL Server 数据库(我知道这有点不寻常)。

我的客户端是 SQL Server Native Client 11.0

当我尝试打开相关的更改列表时,出现了这个错误:

'utf8' codec can't decode byte 0xd1 in position 4: invalid continuation byte. You passed in 'ESPA\xd1A' (<type 'str'>)

让我烦恼的字符是 Ñ。

我检查了我的数据库编码,发现是 Modern_Spanish_CI_AS,我认为这相当于 'latin1' 或 'cp1252'。

我尝试修改 pyodb\base.py,把所有出现 utf-8 的地方替换成 cp1252 或 latin1(参考了这个 问题 中的建议),但是错误依然提到 utf8。

我还能做些什么呢?(除了换后端)

1 个回答

4

好的!

我终于明白了:

'unicode_results': True,

在Django的设置中添加一个新的数据库连接选项

撰写回答