gpt4 book ai didi

python - 如何在 Python 3 CGI 中打印 unicode 字符?

转载 作者:太空宇宙 更新时间:2023-11-03 15:53:16 24 4
gpt4 key购买 nike

我正在尝试运行一个包含一些 Unicode 字符串的 python CGI 脚本。它在控制台中运行良好,但是当我在浏览器中运行它时出现以下错误-

UnicodeEncodeError: 'ascii' codec can't encode character '\u2026' in position 198: ordinal not in range(128)

这两个我都试过了-
encode('ascii','ignore') unicodedata.normalize('NFKD',var).encode('ascii', 'ignore').strip()
var 是保存 unicode 字符串的变量。

现在如何在浏览器中无错误地打印 Unicode 或 ascii?

最佳答案

当 Python 将 Unicode 字符串打印到控制台时,它通常会检测控制台编码并使用该编码自动对 Unicode 字符串进行编码。对于 CGI,没有终端,因此默认为 ascii。您可以使用以下方法将 stdout 更改为另一种编码:

import codecs
sys.stdout = codecs.getwriter('utf8')(sys.stdout.buffer)

您也可以对 stderr 使用类似的行。

关于python - 如何在 Python 3 CGI 中打印 unicode 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45243872/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com