解决vscode默认终端log日志输出中文乱码的问题

修改.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 编码 的指令,主要作用是解决命令提示符或批处理脚本运行时的中文乱码问题。


🔧 命令功能说明

指令含义

  • chcpChange 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 支持。

相关推荐
SpiderPex1 天前
Vibe Coding 开发流程心得:从入门到规范化的踩坑记录
vscode·编辑器·ai编程·开发流程·vibe coding
MR.欻1 天前
ZLMediaKit 源码分析(四):RTP/RTCP 协议栈实现分析
c++·人工智能·vscode·ffmpeg·音视频
晚风吹红霞1 天前
Vim编辑器从入门到熟练 —— 三种模式与常用命令详解
linux·编辑器·vim
SWAGGY..1 天前
Linux系统编程:(十一)进程状态&&Linux中的僵尸状态
linux·服务器·编辑器·vim
青山如墨雨如画1 天前
【Claude】Win11系统VSCode下的Claude使用方法
vscode·aigc·claude·vibe coding·authropic
青山如墨雨如画1 天前
【Claude】Win11电脑下VSCode环境中Claude+Deepseek的报错及解决方法记录日志
vscode·aigc·claude·authropic
key_3_feng1 天前
VSCode 分屏实战,同时对话 Claude Code 与 Copilot 提升多任务处理效率
vscode·claude code·多 agent 协作,开发效率
是烨笙啊2 天前
AI编程:项目管理
ide·人工智能·ai编程
czy87874752 天前
vscode编译make命令要修改stm32cubemx生成的STM32F103XX_FLASH.ld文件
ide·vscode·stm32