cmd 中文乱码 原因与解决

本文介绍了四种处理在Windows环境下运行bat脚本时遇到中文乱码问题的方法:1)将脚本编码改为GBK;2)在cmd中临时设置UTF-8;3)修改cmd的预设加载,分别针对LocalMachine和CurrentUser;4)调整Windows全局设置使其默认使用UTF-8。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

问题:运行bat脚本,中文乱码

原因:编码—解码规则不同

方法一 :改脚本为GBK

方法二 :仅本次以UFT-8运行脚本

方法三 :改cmd加载预设

1.改local machine

2.改Current user

方法四 :改Windos设置


问题:运行bat脚本,中文乱码

                

原因编码—解码规则不同

        记事本创建txt文件时,默认用UTF-8编码规则,将汉字编成二进制码。将txt改成bat后亦然。

                

        而cmd默认用GBK规则将二进码解码成汉字,编码-解码规则不同导致汉字乱码。

        查看cmd代码规则的方式是,光标在窗口栏最上方右键>>属性>>选项>>当前代码页

            

方法一 :改脚本为GBK

        记事本打开txt>>另存为>>编码选择ANSI

                

方法二 :仅本次以UFT-8运行脚本

        cmd中运行 chcp 65001 命令,或将其写入bat脚本中

                 

方法三 :改cmd加载预设

        原理是为cmd预设一些参数,比如字体、颜色和编码规则,每次cmd运行时都会先加载这些参数。有两种方法,分别是更改LOCAL_MACHINE的cmd配置CURRENT_USER的cmd配置。二者冲突时前者生效。据此推测cmd先加载CURRENT_USER的配置,后加载LOCAL_MACHINE的配置。

        注意:通过快捷方式打开的cmd,此方法不生效。即通过bat脚本、Win+R、C盘目录C:\Windows\system32\cmd.exe打开的cmd时,此方法有效;对于开始菜单的搜索栏,如果搜到的是快捷方式,那么打开的cmd编码将仍是GBK。可通过右键打开文件位置查看是否为快捷方式。

                

           推测快捷方式跳过了预设加载阶段。若希望快捷方式也有效,请参考文末参考连接1的方法3。

1.改local machine

        window键+R 打开运行程序,输入regedit,运行注册表编辑器,打开如下文件夹

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

        修改AutoRun文件,改为chcp 65001,若无此项则右键>>新建字符串值>>重命名为Autorun

                

2.改Current user

        window键+R 打开运行程序,输入regedit,运行注册表编辑器,打开如下文件夹

        计算机\HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe

        修改CodePage文件,数值为65001,基数是十进制。若无此项则右键>>新建DWORD(32位)>>重命名为CodePage

                

方法四 :改Windos设置

       让cmd和一些软件默认使用UTF-8编码,不用每次打开cmd加载预设。

        因为更改了默认设置,可能导致原本不乱码的软件出现乱码如影响使用请改回。

        桌面左下角打开Windows设置页面>>时间和语言>>左边栏打开语言>>右边栏相关设置里打开管理语言设置

         

        

        点击左上角的管理页面>>更改系统区域设置>>当前系统区域设置下拉到底,改成中文(简体)>>勾选使用UTF-8提供全球语言支持。

                

参考链接

        Windows 解决cmd/dos窗口中文乱码问题_cmd中文乱码解决方法-优快云博客

        让Windows CMD默认使用UTF-8代码页,解决一切恼人乱码问题!

   

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值