DjangoUnicodeDecodeError:“utf8”编解码器无法使用 pyodbc-azure 解码

Posted

技术标签:

【中文标题】DjangoUnicodeDecodeError:“utf8”编解码器无法使用 pyodbc-azure 解码【英文标题】:DjangoUnicodeDecodeError: 'utf8' codec can't decode with pyodbc-azure 【发布时间】:2014-04-11 07:31:12 【问题描述】:

我使用pyodbc-azure 1.1.5 将我的 django 项目连接到 SQL Server 数据库(我知道有偏差) 我的客户端是 SQL Server Native Client 11.0

当我尝试打开相应的 change_list 时,我收到此错误:

'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 的任何位置(遵循此issue 中描述的提示),但错误仍然是指 utf8。

我还能做什么? (除了改变后端)

【问题讨论】:

【参考方案1】:

好的! 终于明白了:

'unicode_results': True,

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

【讨论】:

以上是关于DjangoUnicodeDecodeError:“utf8”编解码器无法使用 pyodbc-azure 解码的主要内容,如果未能解决你的问题,请参考以下文章

报错期间的 Django UnicodeDecodeError