Django源代码中的UTF8字符

时间:2016-12-09 10:49:20

标签: python django character-encoding

我的Python源代码(注释,字符串)中有一些带重音的字符,Django给了我这些字符的错误。

我必须将此行放在Python文件的顶部才能使其正常工作:

# -*- coding: utf-8 -*-

有没有办法在整个项目中全局允许UTF8?

1 个答案:

答案 0 :(得分:2)

在Python 2中,默认情况下源文件被解释为ASCII,除非问题中的编码声明出现在文件的顶部。

在Python 3中,源文件默认被解释为UTF-8(同样,除非编码声明指定了其他编码)。

有关此更改历史的信息,请参阅PEP 3120:Using UTF-8 as the default source encoding

没有其他方法可以强迫Python将源文件解释为默认编码以外的编码。

所以,你有两个选择:

  1. 将编码声明添加到包含非ASCII字符的每个源文件中。

  2. 切换到Python 3.

  3. 选项2是迄今为止更好的选择,从长远来看,这将为您省去很多麻烦。