bat批处理脚本中文乱码问题解决

问题描述

bat 批处理脚本如下

@echo off

echo hello,world.
echo 你好,中国

pause

在 CMD 执行该脚本时,出现了中文乱码

问题分析

  1. 乱码都跟字符编码有关系。
  2. 计算机只能处理数字,如果遇到文本,必须先将其转换为数字后才能处理,由此出现了字符编码(字符集)。如果编码时采用某种字符编码,那么解码时,必须得相对应使用同一种字符编码,如采用不同的字符编码,会出现乱码。

问题解决

1. 转换脚本文件的编码方式

默认情况下,在 bat 脚本文件中,如果中文不是ANSI编码,就会出现乱码。因此,可以采用Windows操作系统平台自带的记事本打开脚本文件,点击菜单【文件】-【另存为】操作,选择ANSI编码进行保存。

转换编码后,再次运行,中文乱码问题得到解决。

2. 更改代码页

在原先 bat 脚本文件中声明更改代码页

chcp 65001

bat批处理脚本中文乱码问题解决_第1张图片
再次运行,中文乱码问题得到解决。
bat批处理脚本中文乱码问题解决_第2张图片

拓展

  1. chcp 命令

Changes the active console code page.

  1. 常用代码页映射
代码页 映射的字符集
936 GB2312
20127 US-ASCII
65001 UTF-8

你可能感兴趣的:(后端开发)