如何让VS Code终端与编辑器使用相同代码页,正确显示特殊字符?
解决VS Code终端与编辑器代码页一致、正确显示特殊字符的问题
你的问题核心是终端编码、.NET输出编码和字体支持的不匹配,以下是几个直接有效的解决方法:
1. 强制VS Code终端使用UTF-8编码
打开VS Code设置(快捷键Ctrl+,),按以下步骤配置:
- 搜索
terminal.integrated.encoding,将值改为utf-8,确保终端编码和编辑器的UTF-8一致 - 若使用Windows命令提示符(Command Prompt),搜索
terminal.integrated.profiles.windows,找到命令提示符的配置项,修改其args为:
若使用PowerShell,对应修改为:["-NoExit", "/c", "chcp 65001"]
这样每次打开终端都会自动切换到UTF-8代码页(65001)["-NoExit", "-Command", "chcp 65001"]
2. 让.NET程序强制输出UTF-8
.NET默认会使用系统控制台编码输出,可能和终端编码不匹配,你可以直接在代码里指定输出编码:
using System; using System.Text; class Program { static void Main(string[] args) { Console.OutputEncoding = Encoding.UTF8; Console.WriteLine("æøå;ÆØÅ"); } }
也可以通过环境变量全局设置:在VS Code终端执行set DOTNET_CONSOLE_ENCODING=utf-8,或者把这个环境变量添加到系统环境变量中,这样所有.NET程序都会默认用UTF-8输出。
3. 更换支持特殊字符的终端字体
部分字体不支持ø、Ø这类特殊Unicode字符,导致显示异常。在VS Code设置里搜索terminal.integrated.fontFamily,换成支持完整Unicode的字体,比如Consolas、Segoe UI、Fira Code等。
内容的提问来源于stack exchange,提问作者Jan Andersen
相关产品推荐
相关产品推荐

