我使用下面的代码输出中文逐个批次的文件。
@echo off
echo 成功
echo 失敗
echo 開始 但它显示了一个错误的词。
??
憭望?
??如何在批处理文件中输出中文单词?
发布于 2017-08-23 07:40:21
将批处理文件类型保存到ANSI文件扩展名:
执行bat文件,它将显示正确的单词。
成功
失敗
開始感谢eryksun的推荐:
更一般的情况下,您需要使用一个编辑器,该编辑器可以将批处理文件保存为UTF-8,而不需要BOM,例如notepad++。然后在顶部运行命令chcp.com 65001。UTF-8代码页(65001)在控制台中是错误的,因此您实际上应该只暂时这样做,即首先保存以前的代码页,并在将字符串读入环境变量之后恢复它。
发布于 2020-07-25 07:29:31
如果您将回显中文重定向为chcp 950或chcp 936文件,则在记事本中打开该文件将显示符号。
但是,如果仍然在相同的代码页中读取该文件,则将在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 /记事本(++)到File -> Save As Unicode/UTF-8/BOMless。
在Win 10中测试。
https://stackoverflow.com/questions/45833526
复制相似问题