电脑屋

最新文章推荐

批处理中文乱码bat脚本中文乱码解决方法(附视频教程)

  • 小编:霸主
  • 2024-08-11 09:57

使用中文Windows操作系统时,可以使用批处理来帮我们完成一些任务。为了了解批处理的执行过程,在编写批处理时还可以加上一些中文输出信息。不过有些时候,批处理输出的这些中文会出现中文乱码的现象。

批处理中文乱码bat脚本中文乱码解决方法

批处理出现中文乱码的原因:

批处理是在cmd命令提示符中运行的。中文语言Windows系统中,cmd默认使用936代码页,说白了就是使用GBK编码。

批处理中文乱码bat脚本中文乱码解决方法

我们创建批处理文件也就是bat脚本时,都是先使用记事本先创建txt文档,在txt文档中创建代码并保存,然后将扩展名.txt更改为.bat。而记事本默认使用65001代码页,也就是使用UTF-8编码。

批处理中文乱码bat脚本中文乱码解决方法

由于两者编码不一致,从而导致批处理中出现中文乱码。

批处理出现中文乱码的解决方法:

既然是编码不一致导致的问题,那么问题解决方法就简单了,想办法让它们编码一致问题就能解决。下面提供几种常用的解决方法。

方法一、将批处理脚本编码改为GBK

创建txt文档,创建代码后,选择“文件 -> 另存为”,编码选择“ANSI”,保存。

批处理中文乱码bat脚本中文乱码解决方法

批处理中文乱码bat脚本中文乱码解决方法

或者用记事本打开bat脚本,然后选择“文件 -> 另存为”,编码选择“ANSI”,保存。

批处理中文乱码bat脚本中文乱码解决方法

批处理中文乱码bat脚本中文乱码解决方法

方法二、声明以UTF-8编码运行批处理

在脚本开头位置加入“chcp 65001”这行命令,文件是UTF-8编码,在cmd中也以UTF-8编码运行批处理。

批处理中文乱码bat脚本中文乱码解决方法

方法三、修改cmd配置,让cmd默认以UTF-8编码。

cmd启动时会读取注册表中的一些配置,我们可以通过注册表中的两个位置中的一个来实现。

1、HKEY_LOCAL_MACHINE

1) 按快捷键“Windows+R”打开运行,在运行中输入“regedit”,并点击“确定”打开注册表编辑器。

2) 在注册表编辑器中,打开以下位置:

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor

3) 选择Command Processor注册表项后,在右侧区域空白处,右键 -> 新建 -> 字符串值,并命名为“Autorun”。

批处理中文乱码bat脚本中文乱码解决方法

4) 双击Autorun,将数值数据设置为“chcp 65001”,并点击“确定”。

批处理中文乱码bat脚本中文乱码解决方法

5) 运行批处理,中文正常显示。

批处理中文乱码bat脚本中文乱码解决方法

2、HKEY_CURRENT_USER

1) 按快捷键“Windows+R”打开运行,在运行中输入“regedit”,并点击“确定”打开注册表编辑器。

2) 在注册表编辑器中,打开以下位置:

计算机\HKEY_CURRENT_USER\Console

3) 选择Console注册表项后,在右侧区域空白处,右键 -> 新建 -> ,并命名为“%SystemRoot%_system32_cmd.exe”。

批处理中文乱码bat脚本中文乱码解决方法

4) 选择%SystemRoot%_system32_cmd.exe注册表项,在右侧区域空白处,右键 -> 新建 -> DWORD (32位)值,并命名为“CodePage”。

批处理中文乱码bat脚本中文乱码解决方法

5) 双击CodePage,将基数设置为“十进制”,数值数据设置为“chcp 65001”,并点击“确定”。

批处理中文乱码bat脚本中文乱码解决方法

6) 运行批处理,中文正常显示。

批处理中文乱码bat脚本中文乱码解决方法

注意,只需要修改其中的一个即可,两个同时修改会导致批处理运行出错。

这里给大家分享了三种批处理中文乱码bat脚本中文乱码解决方法。需要注意的是方法三,方法三中其实包含了两种方法,而且这两种方法不能同时使用,选择其中一种即可,千万注意。大家如果遇到问题,可以根据自己的情况,选择文章中最合适的一种方法解决问题。

批处理中文乱码bat脚本中文乱码解决方法视频教程

网站声明: 本站《批处理中文乱码bat脚本中文乱码解决方法》由“淺墨丶洛殇”网友提供,仅作为展示之用,版权归原作者所有,如果侵犯了您的权益,请来信告知,我们会尽快删除。