修改.vscode/settings.json
json
{
"terminal.integrated.profiles.windows": {
"PowerShell (UTF-8)": {
"source": "PowerShell",
"args": ["-NoExit", "-Command", "chcp 65001 | Out-Null"]
}
},
"terminal.integrated.defaultProfile.windows": "PowerShell (UTF-8)"
}
关键是在power shell中执行 chcp 65001
Windows 命令行编码切换:chcp 65001 详解
📌 基本概述
chcp 65001 是 Windows 命令行中用于将控制台活动代码页切换为 UTF-8 编码 的指令,主要作用是解决命令提示符或批处理脚本运行时的中文乱码问题。
🔧 命令功能说明
指令含义
chcp是 Change Code Page 的缩写- 用于显示或设置当前控制台的活动代码页编号
- 无参数时:显示当前代码页编号
- 带参数时:切换到指定编码
基本用法
cmd
:: 显示当前代码页
chcp
:: 切换到 UTF-8 编码
chcp 65001
:: 切换回简体中文 GBK 编码
chcp 936
📊 常用代码页对照表
| 代码页编号 | 编码标准 | 适用环境 | 特点 |
|---|---|---|---|
65001 |
UTF-8 | 全球多语言环境 | ✅ 现代开发标准,支持所有Unicode字符 |
936 |
GBK | 简体中文 Windows | ⚠️ 系统默认,但国际化支持有限 |
437 |
MS-DOS US English | 英文 Windows | 🌐 英文环境默认,不支持中文 |
950 |
Big5 | 繁体中文环境 | 🈯 专门用于繁体中文显示 |
💡 使用场景与建议
✅ 推荐使用 chcp 65001 的情况:
- 开发国际化应用时
- 处理包含多语言字符的文件
- 与 Linux/Unix 系统交互
- Git 操作中避免中文文件名乱码
⚠️ 注意事项:
- 部分旧版 Windows 程序可能不完全兼容 UTF-8
- 切换后可能需要重启命令行窗口
- 某些字体在 UTF-8 模式下显示效果不同
🚀 最佳实践
cmd
@echo off
:: 在批处理脚本开头设置 UTF-8 编码
chcp 65001 > nul
echo 此脚本已启用 UTF-8 编码,可正常显示中文字符
echo Hello 世界!🌍
pause
提示 :在 PowerShell 中,建议使用
$OutputEncoding = [System.Text.Encoding]::UTF8获得更好的 UTF-8 支持。