Проблема с Google App Engine utf-8 в Python - PullRequest
1 голос
/ 17 августа 2011

Буду признателен за вашу помощь с, надеюсь, тривиальным вопросом.Недавно я начал изучать Python для работы со средой Google App Engine.Излишне говорить, что я начал с самого простого приложения Hello World.

Английская версия прекрасно работает

Однако, когда я пытаюсь работать со знаками на моем родном языке, возникает проблеманачинается.В основном, при запуске на локальном компьютере он не отображает буквы должным образом.

Вот фрагмент кода, который вызывает у меня проблемы

# -*- coding: utf-8 -*-
import datetime

print 'Content-Type: text/html'
print ''
print '<html>'
print '<head>'
print '<title>Witaj świecie</title>'
print '</head>'
print '<body>'
print '<h1>Witaj świecie</h1>'
print ''
print 'Data logowania to: %s' % (datetime.datetime.now())
print '</body>'
print '</html>'

Конечно, я сохраняю все файлы в формате utf-8.Может кто-нибудь сказать мне, как включить правильное отображение символов utf-8 здесь?

Ответы [ 2 ]

3 голосов
/ 17 августа 2011
print '<html>'
print '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'
print '<head>'
2 голосов
/ 18 августа 2011

Установите кодировку при установке типа контента:

print 'Content-Type: text/html; charset=UTF-8'

Не используйте метатег, как подсказывает @bpgergo; он специфичен для HTML и просто переопределяет заголовки. Поскольку вы уже устанавливаете заголовки, проще и лучше просто правильно их установить.

Вы действительно не должны использовать CGI и выводить свой контент, используя операторы печати, - это грязно и будет очень трудно поддерживать по мере того, как ваше приложение будет расти, а также усложнять такие вещи, как интернационализация. Вместо этого используйте WSGI и шаблоны - см. Руководство по началу работы для App Engine, в частности this и this .

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