首页 > 解决方案 > 如何使 VS 代码正确编码/解码日文字符

问题描述

我在 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

我完全不知道为什么会这样,有人知道吗?

标签: pythonvisual-studio-codeencoding

解决方案


我发现了问题,我的 vscode 的默认编码已设置为 GBK,这就是原因。

在我将编码更改为 utf-8 后,问题就解决了。

希望这可以帮助将来的人。


推荐阅读