Я не могу увидеть строки utf-8 на django на сервере торнадо - PullRequest
0 голосов
/ 02 декабря 2010

У меня есть сервер django, работающий на сервере торнадо.

Когда я использую специальные символы, такие как ó или ñ, определенная часть страницы определенного шаблона django не отображается (для набора символов было указано значение 'utf-8' в settings.py и tornado_script.py # - - кодирование: utf-8 - -).

Учитывая, что только определенная часть шаблона плохо отрисована (форма) и сервер работает отлично, используя встроенный сервер запуска djangoЯ мог бы предположить, что проблема связана с сервером торнадо, но я не могу отладить эту конфигурацию.

Если некоторые из вас знают, как отладить это, чтобы найти недостающую конфигурацию, пожалуйста, дайте мне знать.

Я много раз искал последние 3 часа безрезультатно.

С наилучшими пожеланиями

Ответы [ 2 ]

0 голосов
/ 22 марта 2012

Я обнаружил, что торнадо "рендер" для шаблонов любит делать свою собственную кодировку, которая может испортить вам жизнь.

вы можете посмотреть на их исходный код , чтобы точно узнать, что он делает ...

Попробуйте вместо этого использовать «запись» и посмотрите, появляются ли символы в выводе,тогда у вас может быть лучшее представление о том, что происходит.

J

0 голосов
/ 02 декабря 2010

Возможно, ваш браузер угадывает набор символов.Некоторые браузеры позволяют вам устанавливать кодировку, я бы посоветовал установить ее в UTF-8.Если это действительно проблема, вы можете установить кодировку как метатег, чтобы все браузеры всегда выбирали правильную кодировку.Добавьте это к head:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Вы также должны убедиться, что ваши специальные символы действительно в UTF-8.Большинство редакторов позволяет вам обеспечить это.Вы также можете установить специальную кодировку для ваших файлов Python, которая будет подавляться, если появится что-то еще.Добавьте следующее в начало вашего источника Python со странными символами:

# encoding: utf-8
...