windows - unicode 不从 bat 显示

标签 windows batch-file unicode cmd

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

相关文章:

windows - Powershell 远程 PSSession 失败 - 域管理员帐户

iphone - 在 Windows 上模拟 iPad、iPhone

batch-file - 如何检查zip或rar文件是否包含1个或多个文件?

windows - 在 Windows CMD FOR 循环中使用 youtube-dl 会去除非 ASCII 字符

excel - 从 VBA 中的文本中剥离特殊字符的问题

Python pickle 在版本之间转换为 unicode

unicode - 如何在 Swift 编程语言中获取字符的 Unicode?

windows - Scala & Spark : Dataframe. write._ 在 Windows 上

windows - 适用于 Windows 的 Gtkmm 3.0 库

c# - 获取没有 DNS 的网络上所有计算机的列表