我的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
。