运行批处理文件中的Unicode字符显示不正确,但它们在命令提示符中显示良好
(注意:您必须将cmd设置为使用consolas才能正常工作)
所以我有一个文本文件包含
╔══════╗
║ ║
╚══════╝
以及一个包含
chcp 65001
@echo off
cls
type textfile.txt
pause
当我打开一个命令窗口并输入
chcp 65001
时,我得到╔══════╗
║ ║
╚══════╝
但如果我试着运行bat文件
´╗┐ÔòöÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòù
Ôòæ Ôòæ
ÔòÜÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòØ
如果我不使用chcp,通常会发生这种情况。出于某种原因,当从bat文件运行时,type命令不使用type页?
最佳答案
这是因为批处理文件是以utf8编码保存的,开头是标准的3字节bom(字节顺序标记)。CMD解释器无法识别这些字符,它将它们视为第一行的一部分,自然无法执行???chcp
。
在没有bom的情况下用utf-8重新保存文件
或在开头添加空行
关于windows - bat 不显示unicode,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31791762/