UnicodeDecodeError в / 'utf8' кодек не может декодировать байты - PullRequest
7 голосов
/ 07 мая 2011

Это проект Django.

У меня есть простое представление с 1 строкой: render_to_response ('index.html'). И этот index.html содержит символы типа «öüä», которые вызывают ошибку 'utf8' codec can't decode bytes in position 1942-1944: invalid data.

Это прямая ошибка, которая говорит, что она не может декодироваться, потому что это не utf8, но я не могу понять, как это исправить. Где именно я должен указать что-то.

Есть предложения?

1 Ответ

5 голосов
/ 07 мая 2011

index.html наиболее вероятно в кодировке не-UTF-8, возможно ISO-8859-1 или Windows-1252 . В этих случаях полезно использовать шестнадцатеричный редактор, чтобы изучить, как ö et.c. хранятся.

Если index.html, где в UTF-8 , ö будет соответствовать двум байтам, c3 b6. Если это ISO-8859-1, это будет один байт f6.

Чтобы решить эту проблему, либо перекодируйте файл в UTF-8, либо выберите правильный кодек.

...