如何在批处理文件中输出中文单词?

时间:2017-08-23 07:40:22

标签: batch-file

我正在使用以下代码将批处理文件中的中文单词输出。

@echo off

echo  成功 
echo  失敗 
echo  開始 

但它显示出乱码。

 ??
 憭望?
 ??

如何在批处理文件中输出中文单词?

2 个答案:

答案 0 :(得分:1)

将批处理文件类型保存到ANSI文件扩展名:

  1. 使用Windows文本编辑器
  2. 选择“另存为...”
  3. “encoding”选择“ANSI”
  4. 按“保存”按钮。
  5. 执行bat文件,它将显示正确的单词。

     成功
     失敗
     開始
    

    感谢eryksun推荐:

    更一般地说,您需要使用一个编辑器,可以将批处理文件保存为UTF-8而不需要BOM,例如记事本++。然后在顶部运行命令chcp.com 65001.TWF-8代码页(65001)在控制台中有错误,所以你应该只是暂时这样做,即首先保存以前的代码页并在将字符串读入环境后恢复它变量

答案 1 :(得分:0)

如果使用chcp 950chcp 936将echo Chinese重定向到文件,则在记事本中打开文件将显示符号。
但是,如果仍在相同的代码页中,则读取文件时将以CMD显示中文:
type <outfile>

不同代码页中读取文件会产生其他字符的混合,例如。如果用950回显并用936

读取

如果在代码页65001中回显,则在记事本中查看文件将显示中文:
chcp 65001

代码页936和950将在记事本中显示符号,但仍将以CMD显示中文(通过type命令查看文件时)。
代码页65001将以CMD显示符号,但是在记事本中打开输出文件时将显示中文。

例如

echo off
chcp 936
echo 他的遺產無法估量,他是美國歷史最具影響力的告密者之一>test
type test
他的遺產無法估量,他是美國歷史最具影響力的告密者之一
chcp 950
Active code page: 950
type test
坻腔朡家楊嘛講ㄛ坻岆藝妢郔撿荌?薯腔豢躇氪眳珨

以上内容通过Win CMD保存/写入汉字文件,不依赖Windows GUI / Notepad(++)来File -> Save As Unicode / UTF- 8 / BOMless

在Win 10中测试。