【发布时间】:2021-06-10 07:56:33
【问题描述】:
使用 pythonwin(我从 2018 年开始使用 3.6.8 pywin32 build224.0 版本) 写:
print("Hello world, I make £10000 per month")
或我最初测试的内容
print("Hej världen")
这是“hello world”的瑞典语(我的语言)(10000 英镑是一个例子,不是我的薪水)
另存为文件。 关闭并重新打开它并运行它。 有故障信息:
未能运行脚本 - 语法错误(unicode 错误)“utf-8”编解码器无法解码位置 22 中的字节 0xa3:无效起始字节 (helloworld£10000.py)
好像编辑器用的是Latin-1,python解释器用的是utf-8。
使用记事本将其保存为UTF-8并在pythonwin中重新打开允许运行但来源变为:Hello world, I make £10000 per month
这一定是一个常见的问题,但我找不到 pythonwin 处理它的好方法。无论是在帮助中还是在stackoverflow上。 我在 pythonwin 中看到关于 unicode 问题的讨论是从 2003 年开始的,我不明白为什么现在这是一个问题。
【问题讨论】:
-
Python默认使用UTF-8(你可以在文件开头使用魔术代码来改变解释。那么第二个问题:你使用打印,并且在windows中打印将使用系统代码页(Windows是唯一一个默认不使用 UTF-8 的大型操作系统)。所以你应该在这个论坛上搜索如何打印 UTF-8(所以设置终端或使用其他终端,以便它们是 UTF-8)