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

6

当我启动我的应用程序时,出现以下错误:UnicodeDecodeError: 'utf8'编解码器无法解码位于位置2566的字节0xe9:无效的连续字节。我在我的HTML文件中使用UTF8。

<meta charset="utf-8" />

在我的Python文件中

# -*- coding: utf-8 -*-
self.response.headers['Content-Type'] = 'text/html; charset=UTF-8'

我在网上看到一些使用encode()函数的解决方案,但我不想把文本插入到Python文件中,而是要放在HTML文件中。

1
你可以发布一个回溯吗?那个字节是从哪里来的?你实际上是将文件保存为UTF-8,还是只是告诉Python你这样做了? - Wooble
可能是[UnicodeDecodeError,无效的连续字节](https://dev59.com/aG035IYBdhLWcg3wNtRw)的重复问题。 - Wooble
看起来你正在使用的编辑器默认不保存为UTF-8格式。 - Mark Ransom
@MarkRansom 我使用IDLE,并将其配置为默认保存UTF-8文件。 - tsil
1
@IsmaelToé,这也包括你的HTML吗? - Mark Ransom
哦呼!谢谢@MarkRansom,我刚刚检查了一下,我的HTML文件是ANSI编码(我使用Notepad ++)。将其编码为UTF-8即可解决问题。 - tsil
2个回答

9
如果您使用的是Notepad ++,请确保所有文件的“编码”(在菜单中)设置为“UTF-8”。
我不知道其他编辑器是否有这个问题。

哦天啊!我刚在Django中渲染了一个内置表单,结果它告诉我UnicodeEncodeError,我不明白为什么,因为它是一个本地表单,然后,多亏了你的答案,我检查了我的N++编码 :) 你救了我的一天 :) 谢谢Panda_cat - Nicolas W.

-4

变成

# -*- coding: latin1 -*-

0xe9 是 Latin1 字符集的一部分。


5
但这只是在传播问题,而不是解决它。 - Guido van Rossum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接