在Windows的CMD中如何设置支持UTF8编码

本文介绍如何在CMD中设置支持UTF8编码的方法,包括使用CHCP命令改变代码页及调整控制台字体设置。

CHCP

CHCP是MD DOS中的命令,用来显示或设置活动代码页编号的。用法是:

CHCP [nnn]

其中nnn指定的是代码页的编号。这个参数是可选的,在命令行下如果不指定这个代码页编号,那么默认是显示当前的代码页编号。比如,在默认的cmd窗口中,我们输入chcp,显示的将类似:

活动的代码页: 936

 这里的936表示当前使用的是简体中文(GB2312)编码。

 

让cmd支持UTF8就变得容易了。

1. 运行CMD;

2. 输入 CHCP,回车查看当前的编码;

3. 输入CHCP 65001,回车;

4. 仅如此,还是不能支持UTF8的正常显示,你还要在窗体上右键,选择属性,来设置字体;

5. 操作完上面几步后,即使你原来的字体里面没有显示Lucida Console这个字体,现在应该也能看到了。选择它。如果原来就有,可以选上它先试试,不行在执行上述步骤(这里补充:至少我本机需要CHCP 65001下,有朋友说不要);

6. 选择只应用到本窗体,确认。

这时候,你的Console里面,应该支持UTF8了。

 

转:http://blog.youkuaiyun.com/freedom2028/article/details/16632215

 

转载于:https://www.cnblogs.com/sien6/p/8125585.html

<think>我们正在回答用户关于如何永久设置Windows命令行使用UTF-8编码的问题。根据引用[1]的内容,用户提到了一种通过修改注册表的方法:在注册表中新建一个字符串值,名称为"autorun",数值数据为"chcp 65001"。这样每次打开命令行时都会自动执行这个命令,将编码设置为UTF-8。 但是,我们还需要考虑其他方法,并给出详细的步骤,同时提醒用户修改注册表的风险。 方法1:通过注册表设置(永久生效,但需谨慎) 步骤: 1. 按下Win+R,输入regedit,打开注册表编辑器。 2. 导航到路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor 3. 在右侧空白处右键,选择“新建”->“字符串值”。 4. 将名称设置为“autorun”。 5. 双击该字符串,在数值数据中输入“chcp 65001”(不带引号)。 6. 确定后关闭注册表编辑器。 注意:这样设置后,每次启动命令提示符都会自动执行chcp 65001,将当前代码页设置为UTF-8。 方法2:修改快捷方式(针对特定快捷方式) 如果用户通常通过某个快捷方式打开命令行,可以修改该快捷方式的目标属性。 步骤: 1. 找到命令提示符的快捷方式(可以在开始菜单中右键选择“更多”->“打开文件位置”)。 2. 右键该快捷方式,选择“属性”。 3. 在“目标”一栏中,在原有内容(通常是%windir%\system32\cmd.exe)后面加上“ /k chcp 65001”。 例如:%windir%\system32\cmd.exe /k chcp 65001 4. 点击“确定”保存。 方法3:通过系统设置Windows 10 1803版本及以上) 在较新的Windows 10版本中,可以通过设置开启UTF-8支持,但这会影响所有使用控制台的程序。 步骤: 1. 打开“设置”->“时间和语言”->“语言”->“管理语言设置”(或直接搜索“区域设置”)。 2. 在“区域”设置中,点击“管理”标签页下的“更改系统区域设置”。 3. 勾选“Beta版:使用Unicode UTF-8提供全球语言支持”。 4. 点击确定,然后重启计算机。 注意:这种方法会全局改变系统的编码设置,可能影响一些旧程序。 方法4:使用启动脚本(适用于所有用户或单个用户) 可以创建一个批处理文件(.bat)来设置编码,然后将该批处理文件设置为命令提示符的启动脚本。但这种方法相对复杂,不如方法1直接。 推荐方法:对于大多数用户,推荐使用方法1(注册表)或方法3(系统设置)。方法3虽然全局,但现代程序通常支持UTF-8,而方法1只影响命令提示符。 注意事项: 1. 修改注册表前建议备份注册表或创建系统还原点。 2. 使用UTF-8编码后,一些旧程序可能显示异常,因为程序可能使用GBK等编码。 验证: 设置完成后,打开新的命令提示符窗口,输入`chcp`,应该显示“活动代码页: 65001”。 另外,我们之前的回答中提到了在C代码中设置控制台输出编码的方法(SetConsoleOutputCP),但那是程序级别的,而这里用户要求的是永久设置命令行环境。 根据用户引用[1]的内容,我们重点介绍了注册表方法,并在方法3中补充了系统设置方法。 现在,我们按照要求生成相关问题: §§相关问题§§ 1. 如何临时在Windows命令行中设置UTF-8编码? 2. 修改注册表设置命令行编码后,如何恢复默认设置? 3. 在Windows系统中,如何查看当前命令行的编码格式? 4. 为什么在设置UTF-8编码后,某些程序在命令行中显示乱码? 注意:我们不需要在回答中重复用户的问题,而是直接给出解决方案。</think>### 永久设置Windows命令行UTF-8编码的解决方案 #### ✅ 方法1:通过注册表修改(推荐) 1. **打开注册表编辑器** Win+R 输入 `regedit` → 回车 2. **导航到路径** ``` HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor ``` 3. **新建字符串值** - 右侧空白处右键 → 新建 → 字符串值 - 名称输入:**`autorun`** - 双击该值 → 数值数据输入:**`chcp 65001`** ![注册表示意图](regedit_autorun.png)[^1] 4. **验证效果** 重启CMD后输入 `chcp` 应显示: ```bash 活动代码页: 65001 ``` --- #### ⚙ 方法2:修改快捷方式属性 1. 右键CMD快捷方式 → 属性 2. 在"目标"末尾添加: ```bash %windir%\system32\cmd.exe /k chcp 65001 ``` ![快捷方式修改](shortcut_properties.png) --- #### 🌐 方法3:系统级UTF-8支持Windows 10+) 1. 打开设置 → 时间和语言 → 语言 2. 点击"管理语言设置" 3. 勾选: **☑ Beta版:使用Unicode UTF-8提供全球语言支持** ![系统设置](system_locale.png) 4. 重启计算机生效 > ⚠️ **注意事项** > - 注册表修改需管理员权限 > - 旧版程序可能兼容性问题(可临时用 `chcp 936` 切回GBK) > - 修改后需**重启命令行**生效 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值