如何从文本文件中打印特殊字符

And*_*s_K 2 python python-3.x

我想读取一个文本文件并在Windows consol中打印内容。但是特殊字符被打乱了。

config.txt

[
  {
    "beer": "øl",
    "eel": "ål",
    "egg": "æg"
  }
]
Run Code Online (Sandbox Code Playgroud)

代码

text = open("config.txt")
print(text.read())
Run Code Online (Sandbox Code Playgroud)

Windows控制台输出python code.py

[
  {
    "beer": "øl",
    "eel": "Ã¥l",
    "egg": "æg"
  }
]
Run Code Online (Sandbox Code Playgroud)

And*_*s_K 5

open()需要知道文本文件的编码。将代码更改为此:

代码

text = open("config.txt", encoding="utf-8")
print(text.read())
Run Code Online (Sandbox Code Playgroud)

运行python时的结果,Windows控制台输出python code.py

[
  {
    "beer": "øl",
    "eel": "ål",
    "egg": "æg"
  }
]
Run Code Online (Sandbox Code Playgroud)