寡妇上的Python 3 UTF-8错误?

时间:2020-04-13 20:04:30

标签: python-3.x windows utf-8

我正在尝试从包含utf-8字符的Python 3 HTML打印。下面的程序可以在Python 2和Macs和Linux上的Python 3上正常工作。但是在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 个答案:

答案 0 :(得分:1)

print未发送编码为UTF-8的数据,尽管这是您声明的内容。对于CGI脚本,您可以使用以下命令覆盖stdout的默认编码:

import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')