Microsoft Activation Scripts (MAS)中文乱码解决办法
本帖最后由 SnowRen 于 2022-11-27 21:52 编辑运行All-In-One-Version时,查看JH状态,有的电脑会显示中文乱码,有的则不会。
如果单独运行"Check-Activation-Status-vbs.cmd"和"Check-Activation-Status-wmi.cmd",则中文显示是完全正常的。
这是因为MAS命令脚本执行时调用了两个命令端,一个是CMD,另一个是PowerShell。如果两个命令端的字符编码不一致,切换时就会出现乱码。
Windows默认CMD的命令编码是936,PowerShell有的系统默认的编码是936,有的则65001,可能是安装了某些软件改变了设置或设置了配置文件,特别是编程软件。
查看命令端的编码:
查看编码命令:chcp
临时修改编码命令:chcp 编码
从开始菜单里打开,运行CMD和PowerShell
如果使用下面方法三修改后,从开菜单和文件夹内右键执行命令窗口的编码可以不一样,右键执行命令窗口的编码和MAS属性页里的编码一致。
解决办法:
将两个命令端的字符编码改为一致。
首先看一下网上发布的MAS中文汉化版的编码是936,也就是时常见到的GBK
也可以转存为UTF-8,对应的编码为65001
命令端改成了哪个编码,就执行相应的编码文件,才是正确的打开方式。
下面给出三种方法,其中第三种方法,是我推荐的使用方法,因为此修改只对调用类型的命令和控制台程序有效,如果从开始菜单执行,CMD和PowerShell的编码并没有改变。
MAS以后大概率还会有新版本,本文我已经讲了问题所在,及解决办法,算是抛砖引玉,是需要修改命令端的编码呢,还是修改MAS文件的编码?大家也可以自己尝试去修改,如果想要多种方法都测试,应将之前的设置还原,否则系统的优先顺序不同,可能就出不来相应的结果啦。看不懂的不建议自己修改。
修改方法一:
全局修改,让cmd打开时自动执行"chcp 65001",打开注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor,新建名称为autorun(其值为字符串值),数值数据填入chcp 936
此修改方法936编码的MAS不会乱码,UFT-8主界面会乱码,查看JH状态不会乱码。
修改方法二:
启用全球语言支持,将 "Beta 版:Unicode UTF-8 提供全球语言支持"前面打勾,重启电脑,此修改方法UFT-8编码的MAS不会乱码,936会乱码。此方法还有一个缺点,可能你所使用的某个软件只支持936编码,也会乱码。
修改方法三:
修改HKEY_CURRENT_USER\Console\下命令端的键值
打开注册表:计算机\HKEY_CURRENT_USER\Console,回车。
将以下三项里的CodePage, 数值改为65001或936,三个一致即可。
%SystemRoot%_System32_cmd.exe
%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe
%SystemRoot%_SysWOW64_WindowsPowerShell_v1.0_powershell.exe
如果没有 CodePage,则在该项下新建一个 DWORD(32位值),命名为CodePage,再填入十进制的值。
如果连"%SystemRoot%_System32_cmd.exe"都没有,先打开MAS, 标题栏右键,属性,修改一下字体和大小,确定退出后,重新打开注册表就有啦。
第三种方法,不管是65001,还是936编码都没有问题。
如果不想自己修改,也可以下载现成的附件。
使用方法,下载乱码补丁,先点注册表文件,再运行相对应的编码的MAS,
例如,点击“936.reg”导入注册表后,就运行督察汉化的原版
https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1872559
如果还是乱码,就导入“65001.reg”,运行本贴附件“MAS_1.7_65001.rar”解压后的文件
字体小的,标题栏右键,属性,修改一下字体大小即可。
感谢楼主分享 谢谢楼主分享,太漂亮了 感谢楼主分享 谢谢指点 编码一直是批处理最头疼的问题,一直都没有特别好的解决办法
页:
[1]