unicode不显示从蝙蝠

我的unicode字符不能从运行batch file正确显示,但在cmd提示符下显示正常

(注意:你必须设置cmd才能使用consolas)

所以我有一个文本文件包含

╔══════╗ ║ ║ ╚══════╝ 

和包含的bat文件

 chcp 65001 @echo off cls type textfile.txt pause 

当我打开一个cmd窗口并键入chcp 65001然后type textfile.txt我得到

 ╔══════╗ ║ ║ ╚══════╝ 

但如果我尝试运行bat文件,我所得到的是

 ´╗┐ÔòöÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòù Ôòæ Ôòæ ÔòÜÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòØ 

这是什么正常情况下发生,如果我不使用chcp ..由于某种原因,从bat文件运行的types命令不使用types页面?

发生这种情况的原因是您的批处理文件以UTF8编码形式保存,并且在开始时使用标准的3字节BOM(字节顺序标记)。 这些字符不被CMD解释器识别,它将它们视为第一行的一部分,自然不能执行???chcp

  • 使用UTF-8重新保存文件,不含BOM
  • 或者在开头添加一个空行