当我打开一个文本文件时Visual Studio 代码,文本中包含很多问号,而我原本希望看到瑞典字母,例如 å、ä、ö:
^点击放大
向右下方(在状态栏中VS 代码),我注意到上面写着UTF-8。
这和我面临的问题有关系吗?
我怎样才能使所有这些字母正确显示?
附注:当我以普通方式打开同一个文件时 Windows 记事本,文本显示正确:
在这种情况下,状态栏显示的不是 UTF-8,而是美国国家标准在右下角。
但在 VS Code 中,即使我点击UTF-8,然后 使用编码重新打开,我找不到任何名为 ANSI 的编码。
如果你想用我使用的确切文件重现这种行为,这里是。
参考
答案1
我怎样才能使所有这些字母正确显示?
我能想到两个选择:
- 将文件转换为UTF-8.——这是我的推荐。
- 配置 VS Code 以自动检测最合适的编码。
第二种选择更可取 如果你绝不想要更改任何文件的编码。
选项 1.将文件转换为 UTF-8
缩写美国国家标准代表 美国国家标准协会。
问题在于美国国家标准编码是——尽管名字表明它遵循一个标准——但它是有条件的
文本是用什么自然语言编写的。
对于西欧(拉丁)语言,“美国国家标准“编码表示代码页Windows-1252。
1
1a. 让 VS Code 使用正确的编码
在 VS Code 中,无需寻找美国国家标准编码,寻找Windows-1252。
我点击了UTF-8>使用编码重新打开,VS Code 显示
“西方(Windows 1252)根据内容猜测”作为其首要建议。
^点击放大
VS Code 正确猜出了编码窗户 1252。
如果你不想要更改编码,现在一切就绪。
否则,转变文件UTF-8编码。
1b. 转换为 UTF-8
状态栏现在显示窗户 1252代替UTF-8。
点击窗户 1252然后使用编码保存:
现在点击“UTF-8utf8”:
这皈依者文件的非 ASCII 字符UTF-8 和 将文件编码为UTF-8。
选项 2.配置 VS Code 以自动检测编码
如果你不想要转换为UTF-8,如果你每次打开其他文件时都会遇到这个问题——你可能更愿意将 VS Code 设置为总是自动猜测编码。
为了实现这一点,您需要启用自动猜测编码
VS Code 的功能。
按Ctrl+ ,
2
(逗号)并粘贴或键入autoGuessEncoding
。选中以下框:
“启用后,编辑器将在打开文件时尝试猜测字符集编码。此设置也可以根据语言进行配置。请注意,文本搜索不尊重此设置。仅尊重文件:编码。”
3
3. 关于“ANSI”编码含义的困惑
在互联网上搜索“ANSI”在编码上下文中的含义可能会引起混淆。
您可能会遇到 ANSI 是“用词不当”,这是事实,但没有太多实际帮助。
消除这种困惑的方法是意识到,当微软在 的状态栏中写上“ANSI”时notepad.exe
,通常意味着Windows-1252。对于西欧以外的自然语言,请参阅下表。
其他知名的文本编辑器,例如记事本++,都采用了这个惯例,并在状态栏中写入“ANSI”。
Windows-1252有时被称为代码页 1252 或者CP-1252. 其他代码页也同样如此。
美国国家标准编码 | 语言/字母 |
---|---|
Windows-1250 | 斯拉夫语 – 拉丁字母(例如波兰语) |
Windows-1251 | 斯拉夫语 – 西里尔字母(例如乌克兰语) |
Windows-1252 | 西欧语言(法语、德语、斯堪的纳维亚语、西班牙语、斯瓦希里语……) |
Windows-1253 | 希腊语 |
Windows-1254 | 土耳其语、拉丁阿塞拜疆语和拉丁乌兹别克语 |
Windows-1255 | 希伯来语 |
Windows-1256 | 阿拉伯语、波斯语、乌尔都语 |
Windows-1257 | 波罗的海语言:爱沙尼亚语、拉脱维亚语、立陶宛语 |
Windows-1258 | 越南语 |
Windows-1270 | 萨米语 |
参考
- “ANSI”代表美国国家标准协会
- 按语言列出的字符集
- 代码页 Windows-1270 | 萨米语
- 微软官方编码信息
- Windows 代码页 | 维基百科
- Macintosh 仿真代码页 | 维基百科
- VS Code 中的默认设置
- 维基百科将 ANSI 编码称为“用词不当”
- Notepad++ 下载页面
1 有关“ANSI”的列表可以平均值见第 3 节的表格。
2
在 macOS 上,⌘按 而不是Ctrl。对于 Linux 用户,“ANSI”通常表示 Windows-1252 – 就像在 Windows 上一样。
对于 macOS 用户,请尝试查看 VS Code 建议的内容
根据内容猜测。
或者看看
维基百科上的 Macintosh 仿真代码页。
3 参见VS Code 中的默认设置。