- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个包含希伯来语字符的批处理文件。
ECHO אאאאא
运行批处理文件的结果是╫É╫É╫É
。
如何修复它?
最佳答案
看起来您已经使用UTF-8对批处理文件进行了编码保存时没有 byte order mark (BOM)对于 Hebrew Letter Aleph Unicode 代码值为 05D0。
下面的批处理代码复制到不带 BOM 的 UTF-8 编码文件中,在将字符写入控制台窗口之前将代码页更改为 UTF-8 (65001)。
@echo off
chcp 65001 >nul
ECHO אאאא
不使用多字节编码 UTF-8,也可以使用单字节编码 code page 862其中包含映射到代码值 80(十六进制,十进制 128)的该字母。
@echo off
chcp 862 >nul
ECHO אאאא
代码页 862 是希伯来语的 OEM 代码页。
在控制台窗口中,通常使用 OEM 代码页。如果您打开命令提示符窗口并在此窗口中执行chcp
,您可以看到您的计算机上默认设置的代码页。
但是根据批处理文件使用的编码在批处理文件中设置正确的代码页并不自动意味着在执行批处理文件时在控制台窗口中正确显示希伯来字母。
用于控制台窗口的字体也必须支持代码页 862 以及 Unicode 表中的希伯来字母。
当我看到在我的英语 Windows 7 x64 机器上默认使用 code page 850 的默认字体设置 光栅字体 时,希伯来字符在命令提示符窗口中显示错误在控制台窗口中,我单击命令提示符窗口标题栏左侧的图标,单击属性上打开的菜单,然后在字体选项卡上选择Consolas强>。希伯来字母现在的显示方式与光栅字体不同,但仍然不正确。所以 Consolas 在我的机器上也不支持希伯来字母。接下来我尝试了 Lucida Console 字体,但希伯来字母再次显示不正确。换句话说,我的机器上用于控制台窗口的 3 种字体都不能用于在控制台窗口中以正确的字形显示希伯来字母。
阅读此内容 brief overview of Unicode如果您对文本编码一无所知,请访问文本编辑器 UltraEdit 的强大提示页面。
命令提示符环境并不是真正为 Unicode 设计的。在Windows 控制面板 - 区域和语言中选择管理选项卡。您可以在此处为非 Unicode 程序设置系统区域设置。还有一个帮助页面的链接,解释了此设置的用途 - 在选择了希伯来语(以色列)的 Windows GUI (Windows-1255) 和控制台窗口 (OEM 862) 中为单字节编码文本设置默认字体和代码页。
关于batch-file - 如何修复带有希伯来字体的批处理文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30478940/
我是一名优秀的程序员,十分优秀!