Django使用本地字符时出现UnicodeDecodeError

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django使用本地字符时出现UnicodeDecodeError相关的知识,希望对你有一定的参考价值。

[我已经在Django 2.2.5中启动了一个新项目和应用,并且在Pycharm 2019.1.3中使用了Python 3.7.4

我从Pycharm终端运行django dev服务器,一切正常,直到我在html模板中使用了一些本地符号,例如:“í”之后,我才收到UnicodeDecodeError:

'utf-8' codec can't decode byte 0xed in position 345: invalid continuation byte

在settings.py中,语言代码设置为本地语言:

LANGUAGE_CODE = 'sk'

我不知道该怎么办。我尝试了trans和autoescape,将编码设置在html文件的顶部...但是没有用。有什么想法吗?

答案

按照similar SO question的建议-此错误很可能表明文件(Django模板)包含无效的utf-8字符,更具体地说-文件很可能具有latin-1编码。

某些符号在utf-8 / latin-1中看起来可能相同,但编码方式不同(在Windows上编辑文件或输入仅期望utf-8的网页时,这是非常普遍的难题。

建议configure PyCharm(和您正在使用的其他编辑器)使用UTF-8编码并重新保存文件,可能会编辑错误的字符。

以上是关于Django使用本地字符时出现UnicodeDecodeError的主要内容,如果未能解决你的问题,请参考以下文章

python - 使用 Django 将 Unicode 字符存储到 MySQL 时出现问题

Django和Bootstrap:防止出现空字符串时出现警告框

查询数据库时出现 Django 编码错误

Django/React/Firebase - 上传大文件时出现 CORS 错误

恢复 Django-mailer 数据库时出现 MySQL 错误 1118(行大小太大)

PySFTP失败,“在部署Django / Heroku时出现”找不到主机X的主机密钥”