首页 文章

pycharm中python3的编码错误

提问于
浏览
1

我在pycharm中使用python3,但似乎pycharm不将utf8作为默认编码方法 .

例如,我尝试打开没有设置编码参数并打印一行

with open('/Users/test.txt','r') as file:
    print(file.readline())

然后我得到了

UnicodeDecodeError:'ascii'编解码器无法解码位置0中的字节0xe8:序数不在范围内(128)

虽然我可以打开文件而不在iterm2和Jupyter笔记本中设置'encoding'参数 . 所以我想这是由于pycharm中的编码设置,我已经尝试了pycharm中的每个编码设置,它也没有用 .

2 回答

  • 2

    PyCharm为 LC_CTYPE 环境变量传递一个空值:

    请参阅:PyCharm is changing the default encoding in my Django app

  • 2

    我已经在python-IDLE上测试了,而不是在pycharm上,我得到了与你相同的响应 . 文件的编码是UTF-8,而用于打开文件的编码方法是ASCII . 我找到了2个避免这种情况的解决方案:

    更改用于打开文件的编码方法:

    codec 模块包含一些操作来执行此操作 . 为方便起见,您可以直接在代码中传递编码参数来声明编码方法 .

    with open('/Users/test.txt','r',encoding="utf-8") as file:
        print(file.readline())
    

    更改文件的编码方法:

    有许多方法可以更改文件的编码方法 . 如果您使用的是Windows操作系统,那将更方便 . 使用记事本打开 test.txt 文件,然后单击 File > Save as... . 在 Save as 界面中,将文件的编码(位于底部位置)从 UTF-8 更改为 ANSI ,最后将 Savereplace 更改为原始文件 . 执行此操作后,尝试在pycharm或其他IDE中运行代码,您将获得正确的结果 . 希望能帮助到你 .

相关问题