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