我用Bash打开了一个Python文件。 Python文件应读取utf-8文件,并将其显示在终端中。它给了我一堆▒(“Aaron▒s”而不是“ Aaron's”)。这是代码:
# It reads text from a text file (done).
f = open("draft.txt", "r", encoding="utf8")
# It handles apostrophes and non-ASCII characters.
print(f.read())
我尝试过以下几种组合:
它仍然无法正确显示撇号(“'”)。如何使其显示撇号而不是??
答案 0 :(得分:2)
问题出在Git Bash。如果我切换到Powershell,Python会完美地显示撇号(Aaron)。语义读取错误(Aaron▒)仅在Git Bash中出现。如果我了解更多信息,我将提供更多细节。
更新:@jasonharper和@entpnerd建议draft.txt撇号可能是“撇号”而不是合法的撇号。我将draft.txt撇号(从Google Doc复制并粘贴)与直接输入的撇号进行了比较。它们看起来不一样(’与“”)。在xxd中,撇号字符的值为92。实际的撇号为27。GitBash仅支持后者(除非我需要配置某些东西,这很有可能)。
第二次更新:阐明我正在使用Git Bash。我不知道有运行Bash的多个终端(这是正确的放置方式吗?)。