Исходный файл с символами Юникода заставляет Django выдавать исключение SyntaxError - PullRequest
7 голосов
/ 25 июля 2011

Файл в кодировке UTF-8 имеет символ è (e с ударением), встроенный в разделители комментариев для Python.Джанго жалуется на этого персонажа и не отображает страницу.Как я могу решить эту проблему?

Ответы [ 2 ]

18 голосов
/ 25 июля 2011

SyntaxError Django поднимает уже указывает вам в правильном направлении.

Всегда полезно читать исключения. В вашем случае он сказал что-то вроде

Не-ASCII символ '\ xc3' в файле /home/zakx/../views.py в строке 84, но кодировка не объявлена; подробности см. http://www.python.org/peps/pep-0263.html (views.py, строка 84)

Если вы потом прочитаете PEP-0263 , вы можете узнать, что есть несколько способов сообщить Python (и вашему редактору!), В какой кодировке находятся ваши файлы. Как правило, вы захотите использовать Кодировка UTF-8, когда это возможно. Поэтому запись одной из следующих строк в первую строку (или вторую, если вы используете шебанг) ​​скажет Python использовать UTF-8 для этого файла.

# coding=utf8
# -*- coding: utf8 -*-
# vim: set fileencoding=utf8 :
4 голосов
/ 25 июля 2011

Вы пытались добавить заголовок coding в файл? В первой строке, возможно, после строки Шебанга, добавьте

# -*- coding: utf-8 -*-
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...