Python 3 UTF-8 ошибка на вдовах? - PullRequest
       5

Python 3 UTF-8 ошибка на вдовах?

0 голосов
/ 13 апреля 2020

Я пытаюсь напечатать из Python 3 HTML, который содержит символы utf-8. Программа ниже прекрасно работает с Python 2 и Python 3 на Mac и Linux. Но на Windows я должен удалить строку <meta charset='UTF-8'> для правильного отображения символов utf. Я пытался использовать # - - кодирование: UTF-8 - - но это тоже не помогло. Это ошибка в Python 3?

print( "Content-type: text/html;\n")
print( """<!DOCTYPE html>
<html><head>
    <meta charset="UTF-8">
</head><body>
    <p>¡Hola Señor Müller!</p>
</body></html>
""")

1 Ответ

1 голос
/ 13 апреля 2020

print не отправляет данные в кодировке UTF-8, хотя вы это и заявили. Для сценария CGI вы можете переопределить кодировку stdout по умолчанию следующим образом:

import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...