markdown2.py能否渲染为utf8?

2024-04-19 10:39:15 发布

您现在位置:Python中文网/ 问答频道 /正文

使用markdown2.py将utf-8编码的文本转换为html时,结果是ASCII编码的。如何让markdown2渲染utf-8?你知道吗

名为ff.md的示例输入文件:

Hallo, Bjørn Nößflögl

转换使用:

C:\Python37\python.exe C:\Python37\Scripts\markdown2.py ff.md

当我在编辑器(Notepad++)中打开结果时,它认为它是ASCII。同样地,当我使用flaskrender_template呈现它时,它会在音调符号上崩溃。(UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf8 in position 12: invalid start byte

如果我用Notepad++手动转换为utf-8,一切都很好。你知道吗

简单地浏览一下markdown2代码,我可以看到read被假定为utf-8时的输入。所以我不明白为什么它不是这样呈现的。你知道吗


Tags: 文件py文本示例编码htmlasciibyte
1条回答
网友
1楼 · 发布于 2024-04-19 10:39:15

TL;DR将系统变量PYTHONIOENCODING设置为utf-8。你知道吗

解释要在Windows 10中执行此操作,请按Windows键,键入environment,然后启动编辑帐户的环境变量。单击新建并将Name of设置为PYTHONIOENCODING,将Value设置为utf-8,注意不要使用引号。保存。这样做将使Windows保留该设置。你知道吗

Markdown2代码中,这些行在我的案例(python3)中编写文件。你知道吗

if py3:
    sys.stdout.write(html)

谷歌的Python系统标准输出写入utf8'将我引向this question on SO,其中this answer将我引向解决方案。你知道吗

相关问题 更多 >