我正在使用以下代码将批处理文件中的中文单词输出。
@echo off
echo 成功
echo 失敗
echo 開始
但它显示出乱码。
??
憭望?
??
如何在批处理文件中输出中文单词?
答案 0 :(得分:1)
将批处理文件类型保存到ANSI文件扩展名:
执行bat文件,它将显示正确的单词。
成功
失敗
開始
感谢eryksun推荐:
更一般地说,您需要使用一个编辑器,可以将批处理文件保存为UTF-8而不需要BOM,例如记事本++。然后在顶部运行命令chcp.com 65001.TWF-8代码页(65001)在控制台中有错误,所以你应该只是暂时这样做,即首先保存以前的代码页并在将字符串读入环境后恢复它变量
答案 1 :(得分:0)
如果使用chcp 950
或chcp 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中测试。