Я использую механизм Google для создания веб-сайта, и у меня возникают проблемы со специальными символами. Я думаю, что я свел проблему к этим двум примерам кода:Ñ не отображается на веб-сайте движка Google
request = urlfetch.fetch(
url=self.WWW_INFO,
payload=urllib.urlencode(inputs),
method=urlfetch.POST,
headers={'Content-Type': 'application/x-www-form-urlencoded'})
print request.content
Предыдущий код выводит на экран содержимое просто отлично, показывая специальные символы. Но, как правильно использовать рамки для отображения что-то использует:
request = urlfetch.fetch(
url=self.WWW_INFO,
payload=urllib.urlencode(inputs),
method=urlfetch.POST,
headers={'Content-Type': 'application/x-www-form-urlencoded'})
self.response.out.write(request.content)
Который не отображает специальные символы, а вместо этого просто печатает. Что я должен делать, чтобы он отображался правильно?
Я знаю, что чего-то не хватает, но я не могу понять, что это такое. На сайте установлены <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
, и я пробовал с charset=UTF-8
без успеха.
Буду признателен за любые советы, которые могут указывать на меня в правильном направлении.
Я проверил с firebug, и кажется, что движок приложения автоматически устанавливает заголовок содержимого в utf-8. –
Это по умолчанию, да, но вы можете установить его на что-то еще, если хотите. –
Исправлено. То, что я получал, было кодировкой ISO-8859-1, поэтому мне пришлось сделать unicode (request.content, iso-8859-1), чтобы правильно преобразовать его в Юникод перед его печатью. –