文章目录问题解决方法**方法一:通过系统区域设置启用 UTF-8 支持(全局生效)**1. **打开系统区域设置**:2. **启用 UTF-8 支持**:3. **重启电脑**:测试结果**方法二:通过注册表修改 CMD 的默认编码**1. **打开注册表编辑器**:2. **修改 CMD 的编码**:3. **设置 CMD 启动时自动切换编码**:测试结果**方法三:通过注册表修改 PowerShell 的默认编码**(==没测试==)1. **创建 PowerShell 配置文件**:2. **添加 UTF-8 编码设置**:3. **允许脚本执行**(如果遇到权限问题):**方法四:调整终端字体**(==没测试==)1. **修改 CMD 字体**:2. **添加缺失字体(可选)**:**方法五:通过快捷方式设置 CMD/PowerShell 启动参数**(==没测试==)1. **创建或修改快捷方式**:2. **保存并测试**:**注意事项**1. **兼容性问题**:2. **检查当前编码**:3. **IDE 内置终端**:
问题在控制台启动一个bat脚本,脚本中有中文,打开一看全是乱码:
解决方法要永久解决 Windows 控制台(CMD/PowerShell)的中文乱码问题,并统一使用 UTF-8 编码,可以按照以下步骤操作。这些方法适用于 Windows 10/11 系统。
方法一:通过系统区域设置启用 UTF-8 支持(全局生效)1. 打开系统区域设置:右键点击“此电脑” → 选择“属性” → 点击“高级系统设置” → 在“高级”选项卡下点击“区域” → 点击“更改系统区域设置”。或者直接通过控制面板:控制面板 → 时钟和区域 → 区域 → 管理 → 更改系统区域设置。2. 启用 UTF-8 支持:在弹出的窗口中,勾选 “Beta 版:使用 Unicode UTF-8 提供全球语言支持”。点击“确定”,系统会提示你重启电脑以使更改生效。3. 重启电脑:重启后,系统的默认编码会变为 UTF-8,所有终端(CMD/PowerShell)将默认使用 UTF-8 编码。测试结果怎么重启后cmd还是有部分乱码???
用powershell倒是变好了:
方法二:通过注册表修改 CMD 的默认编码如果不想修改系统区域设置,可以直接通过注册表调整 CMD 的默认编码。
1. 打开注册表编辑器:按下 Win + R,输入 regedit,回车打开注册表编辑器。2. 修改 CMD 的编码:导航到以下路径:HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe
右键空白处 → 新建 → DWORD (32 位) 值,命名为 CodePage。 发现我好像已经创建过了??
双击 CodePage,将数值数据设置为 65001(十进制),点击“确定”。
3. 设置 CMD 启动时自动切换编码:导航到以下路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
右键空白处 → 新建 → 字符串值,命名为 AutoRun。
双击 AutoRun,将数值数据设置为 chcp 65001,点击“确定”。
测试结果我双击.bat脚本怎么控制台闪退起不来了。 要先打开cmd,然后再执行脚本才行,现在倒是没有乱码了:
方法三:通过注册表修改 PowerShell 的默认编码(没测试)1. 创建 PowerShell 配置文件:打开 PowerShell,执行以下命令创建配置文件(如果不存在):if (!(Test-Path $PROFILE)) {
New-Item -Type File -Path $PROFILE -Force
} 打开配置文件进行编辑:notepad $PROFILE 2. 添加 UTF-8 编码设置:在配置文件中添加以下内容:[Console]::OutputEncoding = [System.Text.Encoding]::UTF8 保存文件并关闭编辑器。3. 允许脚本执行(如果遇到权限问题):在 PowerShell 中以管理员身份运行:Set-ExecutionPolicy RemoteSigned 方法四:调整终端字体(没测试)某些字体不支持中文字符渲染,需手动设置支持中文的字体(如 Lucida Console 或 Consolas)。
1. 修改 CMD 字体:打开 CMD → 右键标题栏 → 选择“属性” → 进入“字体”选项卡。选择 Lucida Console 或 Consolas,点击“确定”。2. 添加缺失字体(可选):如果系统缺少支持中文的字体,可以通过注册表添加:
路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont右键空白处 → 新建 → 字符串值,命名为 0(或数字序号),数值数据设置为字体名称(例如 Consolas)。方法五:通过快捷方式设置 CMD/PowerShell 启动参数(没测试)1. 创建或修改快捷方式:右键桌面或任务栏的 CMD/PowerShell 快捷方式 → 选择“属性”。在“目标”字段中,追加以下参数:
CMD:cmd /k "chcp 65001 > nul"PowerShell:powershell.exe -NoExit -Command "chcp 65001"2. 保存并测试:点击“应用” → “确定”,然后通过修改后的快捷方式打开终端,编码会自动切换为 UTF-8。注意事项1. 兼容性问题:启用 UTF-8 后,部分老旧软件(如某些压缩包、批处理脚本)可能会出现乱码。如果遇到问题,可以暂时禁用 UTF-8 支持。修改注册表前,建议备份注册表(文件 → 导出)。2. 检查当前编码:在终端中输入 chcp,输出应为 65001(UTF-8)。3. IDE 内置终端:如果使用 VS Code、WebStorm 等工具的内置终端,需在设置中指定编码为 UTF-8(通常默认已支持)。通过以上方法,你可以永久解决 Windows 控制台的中文乱码问题,并确保所有终端使用 UTF-8 编码。如果仍有问题,请检查字体设置或尝试更新系统。