解决win10执行批处理报编码错误

avatar
avatar
kktoo
45
文章
12
评论
2020年4月20日21:13:27 评论 1,615 1062字阅读3分32秒

问题描述

永远要记得备份文件。系统不知道哪个时候就会突然崩溃。这不,正在疯狂编码中,我的win7系统就崩溃了,再也无法进入系统,于是乎重装了win10,准备一亲win10的芳泽。win10确实挺香,但是遇到各种各样的问题也是宿命。

我遇到的问题是,以前执行的好好的很多bat批处理文件都无法正常运行了。报错:No such file or direcotry。

首先,怀疑是cmd所在路径没有切换到当前目录的问题?在批处理中加了dir命令,排除了路径错误,确实是在当前目录下执行的。

其次,看到报错信息后面一堆文件路径中文乱码,直觉上感觉是中文文件名导致的问题。用notepad++打开批处理文件,确认编码是ANSI编码,并没有问题。那就是编码页的问题了。

在命令行输入chcp命令:

chcp

反馈的输出是65001,这是utf8编码啊,这不对啊。用chcp修改:

chcp 936

然后再次执行批处理文件:

./build.bat

哗哗哗,一切正常的执行过去了。看来就是编码页问题,但是大家知道,chcp只是修改了当前命令行环境,等下次执行的时候,将依旧面对65001的utf8编码,不能根本解决问题,而且我的批处理文件是git仓库里的多人协作使用的,可不能私自修改编码格式。

解决方法

后来终于找到,问题出在勾选了系统设置里的beta版:使用UnicodeUTF-8提供全球语言支持(U)

设置的具体位置如下,我们需要取消勾选:

一、设置中打开区域和语言页,点击‘管理语言设置’

解决win10执行批处理报编码错误

二、点击管理tab页按钮,进行切换:

解决win10执行批处理报编码错误

三、点击‘更改系统区域设置’按钮:解决win10执行批处理报编码错误

四、找到目标了,取消勾选。注意这个更改后需要立即重启系统生效。解决win10执行批处理报编码错误

重启生效后,我们输入chcp,就会发现默认都是936,代表GBK编码了。

备 注

chcp命令

英文全称:change code page。用途:显示或设置活动代码页编号

语法

nnn - 指定代码页的编号

chcp [nnn]

获取帮助信息

chcp /?

显示当前活动代码页的设置

chcp

设置活动代码页为936(Chinese)

chcp 936

代码页编码

部分代码页与国家/地区或语言的映射,更详细的可求助搜索引擎

代码页 国家/地区或语言
437 United States
850 Multilingual (Latin I)
852 Slavic (Latin II)
855 Cyrillic (Russian)
857 Turkish
860 Portuguese
861 Icelandic
863 Canadian-French
865 Nordic
866 Russian
869 Modern Greek
936 Chinese
继续阅读
avatar
  • 文本由 发表于 2020年4月20日21:13:27
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
jenkins尾随命令 jenkins

jenkins尾随命令

在访问jenkins的网址后面可以追加命令,比如访问地址是 http://10.20.0.124:8080/,常用的有以下几种方式: 1.关闭Jenkins 只要浏览器输入http://10.20.0...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: