当前位置: 首页 > news >正文

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

问题描述

永远要记得备份文件。系统不知道哪个时候就会突然崩溃。这不,正在疯狂编码中,我的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)

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

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

在这里插入图片描述

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

在这里插入图片描述

三、点击‘更改系统区域设置’按钮:

在这里插入图片描述

四、找到目标了,取消勾选。注意这个更改后需要立即重启系统生效。

在这里插入图片描述

重启生效后,我们输入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

相关文章:

  • Nodejs数据库单一连接模式和连接池模式的概述及写法
  • Meteonorm8-免费使用教程(详细教程-免费)
  • RK3506-rtlinux
  • Linux系统之部署TestNet资产管理系统
  • 豆瓣图书数据采集与可视化分析(一)- 豆瓣图书数据爬取
  • 【DT】USB通讯失败记录
  • 整流二极管详解:原理、作用、应用与选型要点
  • Replicate Python client
  • AUTOSAR图解==>AUTOSAR_SWS_EFXLibrary
  • fragment 异常 InstantiationException
  • 数据结构实验6.2:稀疏矩阵的基本运算
  • C++ STL 环形队列模拟实现
  • 解决Windows update服务启动拒绝访问的问题 | wuauserv 注册表拒绝访问的方法
  • CF148D Bag of mice
  • M|触碰你
  • [Android] 豆包爱学v4.5.0小学到研究生 题目Ai解析
  • 四月下旬系列
  • 在VMware Workstation 17 Pro上实现Windows与UOS虚拟机之间复制粘贴文本及文件
  • MySQL——事务
  • Linux中的软件管理
  • 接续驰援,中国政府援缅卫生防疫队出发赴缅
  • 从高铁到住房:“富足议程”能否拯救美国的进步主义?
  • 14岁男孩膀胱内现52颗磁力珠,专家呼吁关注青春期少年心理健康
  • 四川一季度GDP15246.92亿元,同比增长5.5%
  • 精致优雅:近代早期英国的“文明礼仪”
  • 编年岂徒哉:《资治通鉴》中魏征26年的人生史