当我在Visual Studio Code中打开我的一个文本文件时,文本包含很多问号,我原本希望在这些地方看到瑞典字母,例如 å、ä、ö :
^ 点击放大
在右侧(在VS Code的状态栏中),我注意到它说UTF-8。
这是否与我面临的问题有关?
如何使所有这些字母正确显示?
作为旁注,当我在普通的旧 Windows 记事本中打开相同的文件时,文本显示正确:
在这种情况下,状态栏在右下角显示ANSI ,而不是 UTF-8。
但是在 VS Code 中,即使我点击UTF-8,然后 点击Reopen with Encoding,我也找不到任何名为 ANSI 的编码。
如果您想使用我一直在使用的确切文件重现该行为,这里是.
我可以想到两个选择:
如果您不想更改任何文件的编码,则第二个选项更可取 。
选项 1. 将文件转换为 UTF-8
首字母缩写词ANSI代表 美国国家标准协会。
“ _ _ _ _
_ _ _
_ ANSI " 编码表示代码页Windows-1252。 1
1a。让 VS Code 使用正确的编码
在 VS Code 中,不要寻找ANSI编码,而是寻找Windows-1252。
我单击UTF-8 > Reopen with Encoding,VS Code 显示
“ Western (Windows 1252) Guessed from content”作为其首要建议。
^ 点击放大
VS Code 正确猜到了编码Windows 1252。
如果您不想更改编码,那么您现在一切就绪。
否则,仍然需要将文件转换为UTF-8编码。
1b。转换为 UTF-8
状态栏现在显示Windows 1252而不是UTF-8。
单击Windows 1252,然后单击Save with Encoding:
现在点击“ UTF-8 utf8”:
这会将文件的非 ASCII 字符转换为UTF-8 并将 文件编码为UTF-8。
选项 2. 配置 VS Code 以自动检测编码
如果您不想转换为UTF-8,并且每次打开另一个文件时都遇到此问题 - 您可能更愿意将 VS Code 设置为始终自动猜测编码。
为此,您需要启用 VS Code 的Auto Guess Encoding 功能。
按Ctrl+ ,(逗号)并粘贴或键入
autoGuessEncoding
。 2 选中它显示的框:“启用后,编辑器将在打开文件时尝试猜测字符集编码。也可以按语言配置此设置。注意,文本搜索不遵守此设置。仅文件:编码受到尊重。” 3
3. 对“ANSI”编码含义的混淆
搜索互联网,试图找出“ANSI”在编码上下文中的含义,可能会引起混淆。
您可能会遇到 ANSI 是“用词不当”,这是真的,但没有太大的实际帮助。
我相信消除混淆的是意识到当微软在状态栏中写“ANSI”时
notepad.exe
,它通常意味着Windows-1252。对于其他自然语言,“ANSI”表示代码页Windows-125x,其中x是数字 0-8,如下表所示。
其他著名的文本编辑器,例如Notepad++,已经采用了这种约定,并且还在状态栏中写了“ANSI”。
Windows-1252有时称为代码页 1252 或CP-1252。
对于其他代码页也是如此。
参考
1 有关“ANSI”可能含义的列表,请参见第 3 节中的表格。
2 在 macOS 上,按⌘而不是Ctrl。对于 Linux 用户,“ANSI”通常表示 Windows-1252——就像在 Windows 上一样。
对于 macOS 用户,尝试查看 VS Code 建议的内容为 Guessed from content。
或者 在 Wikipedia 上查看 Macintosh 仿真代码页。
3 查看VS Code 中的默认设置。