2016-12-09 95 views
1

我在我的Python源代碼(註釋,字符串)中有一些重音字符,並且Django爲這些字符提供了一個錯誤。Django源代碼中的UTF8字符

我必須把這個線在Python的文件的頂部,使其工作:

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

有沒有辦法在全球範圍允許UTF8整個項目?

+0

你可以升級到python 3,無論如何你需要django 2.0 – Sayse

+0

查看'https:// code.djangoproject.com/wiki/GlobalState' –

回答

2

在Python 2中,默認情況下,源文件被解釋爲ASCII,除非在文件頂部出現類似於問題中的編碼聲明。

在Python 3中,默認情況下源文件被解釋爲UTF-8(同樣,除非編碼聲明指定了其他編碼)。

有關此更改歷史的信息可在PEP 3120:Using UTF-8 as the default source encoding中找到。

沒有其他方法可以強制Python將源文件解釋爲非默認編碼。

所以,你有兩個選擇:

  1. 添加編碼聲明,每一個源文件,其中包括非ASCII字符。

  2. 切換到Python 3

方案2是目前較好的選擇,並會爲您節省大量的頭痛,從長遠來看。