首页 > Windows开发 > 详细

Win10中新编写的批处理运行中文乱码问题解析

时间:2021-04-25 18:57:53      阅读:24      评论:0      收藏:0      [点我收藏+]

  在Windows10以前,我们编写批处理的时候,基本上是现写现用,echo显示中文完全没问题,但如下图,新建一个文本文档写这么一段批处理代码,运行的时候显示的中文就是乱码, Win10之前完全没有这个问题,是什么导致的这个问题呢。

技术分享图片

 

  有一点非常重要,当出现乱码的时候,第一时间应该想到编码错误的问题,现在Unicode普及早已是大势所趋,Linux一直采用的是utf-8编码,微软一直坚持的ansi也开始动摇了,但从长期的习惯上来说,一次改成utf-8代价高,体验度可能也差,因此微软逐步开始将Windows的部分功能改成utf-8,逐渐的完全从ansi过渡到utf-8.
    因此在这个问题上,cmd和powershell的编码仍然是ansi,但新建的文本文档已经从之前默认的ansi变成了utf-8,从上图的右下角你可以看出来,文件是utf-8,用ansi去解码,必将导致非ASCII码显示成乱码。
    那么问题该怎么解决呢?既然知道了原理,我们只需要保证cmd/powershell和文本文件的编码相同即可,办法有2种,另存为文本文件,选择编码为ansi;另一种是把cmd/powershell编码改成utf-8,utf-8的活动代码页是65001,执行下列命令,我们再试
技术分享图片

 

Win10中新编写的批处理运行中文乱码问题解析

原文:https://www.cnblogs.com/boltkiller/p/14699812.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!