如何渲染包含UTF8字符的Django模板?

2 投票
2 回答
4786 浏览
提问于 2025-04-15 18:48

我正在尝试用Django发送一封包含UTF-8字符的邮件,特别是:

S'il vous plaît

但是我遇到了这个错误:

UnicodeDecodeError: 'utf8' codec can't decode byte 0x94 in position 147: unexpected code byte

这个错误是在尝试编码特殊字符“î”时出现的(这个字符就是在那个位置的字符)。

这是我生成邮件内容的代码:

template = loader.get_template('french_thank_you.html')

2 个回答

1

0x94 这个值在 UTF-8 编码中并不代表 î。实际上,î 的 UTF-8 编码是 0xc3 0xae

6

你正在使用的编辑器把文件保存成了Mac Roman编码。打开这个模板,然后重新保存成UTF-8格式,这样就可以正常使用了。

撰写回答