2012-05-31 6 views
6

Когда я запускаю свое приложение, я получаю эту ошибку UnicodeDecodeError: кодек 'utf8' не может декодировать байт 0xe9 в позиции 2566: недопустимый байт продолжения. Я использую UTF8 в моем HTML файлUnicodeDecodeError: 'utf8' codec не может декодировать байт

<meta charset="utf-8" /> 

и в моем файле Python

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

Я видел некоторые решения в Интернете с помощью функции кодирования(), но я не хочу, чтобы вставить текст в Python, но в файле HTML.

+1

Можете ли вы разместить трассировку? Откуда этот байт? Вы действительно сохраняете файл как UTF-8 или просто говорите Python, что вы сделали? – geoffspear

+0

Возможный дубликат [UnicodeDecodeError, недопустимый байт продолжения] (http://stackoverflow.com/questions/5552555/unicodedecodeerror-invalid-continuation-byte) – geoffspear

+0

Похоже, что редактор, который вы используете, не сохраняет как UTF-8 по умолчанию , –

ответ

9

Если вы используете Notepad ++, убедитесь, что для «кодировки» (в меню) всех ваших файлов установлено значение «UTF-8».

Я не знаю других редакторов, но это может быть проблемой.

+0

О, черт! Я только что представил встроенную форму в Django, и он сказал мне UnicodeEncodeError, что я не понял, почему, поскольку это была родная форма, а затем, благодаря вашему ответу, я проверил свою N ++-кодировку :) Вы спасли мой день :) Спасибо Panda_cat –

-4

изменение

# -*- coding: latin1 -*- 

0xe9 является частью latin1 кодировкой.

+0

Не работает – tsil

+0

Вы тоже пытались установить метатег? –

+5

Но это просто пропаганда проблемы, а не ее решение. –

Смежные вопросы