我在VS代码中遇到了日语字符的有线问题。
我所做的仅仅是创建一个日语字符串并显示它。
代码如下:
str = "こんにちは"
print(str)
这在终端上工作得很好。
>>> str = "こんにちは"
>>> print(str)
こんにちは
我的终端编码是cp932:
PS D:\WorkSpace\> chcp
現在のコード ページ: 932
但是,如果我创建一个python脚本并使用相同的代码,则输出完全不同。
# coding: cp932
str = "こんにちは"
print(str)
输出为
PS D:\WorkSpace\> python test.py
、ウ、ヒ、チ、マ
如果我从一开始就删除了cp932编码部分,那么我会得到以下错误:
File "test.py", line 2
SyntaxError: Non-UTF-8 code starting with '\xa4' in file test.py on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
如果我使用'utf-8‘作为脚本文件的编码,我得到以下错误:
File "test.py", line 2
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xa4 in position 0: invalid start byte
我完全不知道为什么会发生这样的事情,有人知道吗?
发布于 2021-09-20 07:54:49
我发现了问题,我的vscode的默认编码被设置为GBK,这就是原因。
在我将编码改为utf-8之后,这个问题就解决了。
希望这能在未来对某些人有所帮助。
https://stackoverflow.com/questions/69250732
复制相似问题