LINUX.ORG.RU

python3 web кодинг. вывод UTF-8


0

1

Ни print(), ни sys.stdout.write() не выводят строки с символами, отличными от латиницы.
Где-то месяц назад находил решение, даже проверял - работало, но пример не сохранился а повторно найти не получается.
Версия python: 3.2
Help.
Если можно - лучше с примером.


да без проблем. используйте библиотеку mbstring, входящую в пакет php5

heisenberg ★★
()
Ответ на: комментарий от snoopcat

Проблема в кодировке stdout. Ее надо выставить в UTF-8.

sirius
() автор топика
Ответ на: комментарий от snoopcat

print(sys.stdout.encoding) выдает ANSI_X3.4-1968. Как выставить utf?

sirius
() автор топика

>Версия python: 3.2

CGI или WSGI? Если первое, то кури кодировки, если второе - то бросай, т.к. стандарта пока нет.

anonymous
()
Ответ на: комментарий от sirius

Запарился уже курить, потому и тему создал.

Лови, я добрый сегодня:

#!/usr/bin/python
import sys

output = lambda msg: (sys.stdout.buffer.write(b'Content-type: text/html;charset=utf-8\n\n'),
                      sys.stdout.buffer.write(msg))

message = '''
<html><body>
<h1>Hello, unicode</h1>
<p>А вот и кириллица</p>
</body></html>
'''.encode('utf8')

output(message)

:)

anonymous
()
Ответ на: комментарий от anonymous

у меня через WSGI всё работало (уже не помню как, но бубна не требовалось вообще).

stevejobs ★★★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.