UnicodeDecodeError:'utf8'编解码器无法解码字节

时间:2016-04-12 16:22:26

标签: mysql json django python-2.7 utf-8

我正在使用Django和ajax使用jQuery和JSON将数据打印到HTML表。

直到新数据出现并且有"ú@ñ"种类型的字符才有效,我得到了: UnicodeDecodeError: 'utf8' codec can't decode byte 0xf9 in position 4: invalid start byte

我已阅读并尝试了许多不同的可能原因,但仍然无效。

我试过了:

  • 在Sublime Text中以UTF-8保存我的文件,并使用文件-bi myfile 我仍然得到text / x-python;字符集= US-ASCII
  • 在views.py
  • 的开头使用# -*- encoding: utf-8 -*-
  • 从CHARSET = latin1
  • 将MySQL字符集更改为CHARSET = utf8mb4
  • json.dumps(list(rows),default = datetime_handler),content_type =“application / json”,encoding ='utf-8')

我宁愿避免对我的数据中的每个字符串使用.decode(),但如果没有其他解决方案,那就是我必须要做的。

1 个答案:

答案 0 :(得分:1)

- 编码:utf-8

仅更改源文件的编码,这意味着您可以使用非ascii字符定义变量/注释。

您可以尝试使用

json.dumps(..., ensure_ascii=False, encoding="ISO-8859-1")