运行批处理文件中的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/

10-13 09:26