这是一个奇怪的问题,可能是由于 python 更新,因为它昨天运行良好,没有任何变化。开始了:
我有一个程序可以打开 utf-8 文件(使用重音字符等,而不仅仅是 ansi 字符)。当我用 . 打开文件时open(file, encoding="utf-8-sig").read()
,非 ansi 字符会被破坏,如下所示在我的终端中:
但是,当我将编码设置为 时"ansi"
,字符完全正常!
这对我来说完全是个谜。如前所述,昨天工作正常。我已经多次检查文件确实是 utf-8。我不知道问题出在 open() 函数,还是显示字符时的 print() 函数。无论如何,这很奇怪。该"ansi"
版本将是一个解决方案,但问题是它会导致Lark出现问题,它使用打开文件的内容。
在我在这里给出的截图中,代码是基本的:
with open(str(GRAMMAR), "r", encoding="utf-8-sig") as grammar:
print(grammar.read())
这个问题可能是由什么引起的?