当前位置: 首页 > news >正文

Windows cmd中文乱码解决方法(Windows控制台中文乱码、CMD乱码、控制台乱码、Command Prompt命令提示符cmd.exe乱码)

文章目录

  • 问题
  • 解决方法
    • **方法一:通过系统区域设置启用 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 ConsoleConsolas)。

1. 修改 CMD 字体

  • 打开 CMD → 右键标题栏 → 选择“属性” → 进入“字体”选项卡。
  • 选择 Lucida ConsoleConsolas,点击“确定”。

2. 添加缺失字体(可选)

  • 如果系统缺少支持中文的字体,可以通过注册表添加:
    • 路径:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
    • 右键空白处 → 新建 → 字符串值,命名为 0(或数字序号),数值数据设置为字体名称(例如 Consolas)。

方法五:通过快捷方式设置 CMD/PowerShell 启动参数没测试

1. 创建或修改快捷方式

  • 右键桌面或任务栏的 CMD/PowerShell 快捷方式 → 选择“属性”。
  • 在“目标”字段中,追加以下参数:
    • CMDcmd /k "chcp 65001 > nul"
    • PowerShellpowershell.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 编码。如果仍有问题,请检查字体设置或尝试更新系统。

相关文章:

  • docker 安装运行mysql8.4.4
  • 多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
  • Loss Margin的原理与推导
  • 一天时间解决期末不挂科
  • 代码解读——ReferenceNet
  • 【位运算】消失的两个数字(hard)
  • STM32 PID控制
  • Hyperlane 框架详解与使用指南
  • shell打印图案
  • 常用的OceanBase调优配置参数
  • Maven 多仓库配置及缓存清理实战分享
  • 【Redis/1-前置知识】分布式系统概论:架构、数据库与微服务
  • vue的created和mounted区别
  • word嵌入图片显示不全-error记
  • Linux下制作Nginx绿色免安装包
  • 介绍一种直流过压保护电路
  • 中和农信创新引领“三农“金融服务新模式
  • vue实现气泡词云图
  • Elasticsearch增删改查语句
  • freeCAD 学习 step1
  • 企业网站seo服务/windows优化大师在哪里
  • 怎么做展示型网站/emlog友情链接代码
  • 网站公告栏怎么做/百度推广助手app
  • 如何做网站推广营销/排名优化哪家好
  • 无锡做网站公司哪家比较好/推广平台排行榜
  • 动态网站流程/推广引流app