我需要链接到批处理脚本中包含字符“æ”的文件夹。
但是,当我运行脚本时遇到了麻烦。命令提示符会误读非 ASCII 字符。我尝试将文件保存为 ANSI 和 Unicode。我运行的是 Windows 7。
这是一个最小的例子:
echo øl
控制台窗口中默认既不使用 ANSI 也不使用 Unicode。 Windows 默认使用控制台 OEM 代码页。
使用哪个 OEM 代码页取决于 Windows 国家/地区和语言设置。对于美国和加拿大,默认 OEM 代码页为 437;对于大多数西欧国家,默认 OEM 代码页为 850。
图形用户界面 (GUI) 窗口中的非 Unicode 代码页是 Windows-1252,适用于美国、加拿大和大多数西欧国家。
字符 æ 在代码页 Windows-1252 以及 Unicode 表中具有十进制代码值 230(十六进制 E6)。但在 OEM 代码页 437 和 850 中,该字符的十进制代码值为 145(十六进制 91)。
因此,必须通过插入 Windows-1252 编码字符
‘
将该字符插入到批处理文件中,或者直接使用适当的 OEM 代码页在文本编辑器中编辑批处理文件。
我正在使用 UltraEdit 编辑文本文件。我已自动使用系统定义的 OEM 代码页(在本例中为代码页 850)为扩展名为 BAT 和 CMD 的文件配置 UltraEdit,并为所有其他非 Unicode 文本文件使用 GUI 窗口的系统代码页(代码页) 1252 就我而言)。将在 Web 浏览器中复制的文本粘贴到批处理文件中时,UltraEdit 还会进行从 Unicode 或 Windows-1252 到 OEM 代码页 850 的必要转换。在将批处理文件中的选定文本复制到剪贴板时,UltraEdit 还将 OEM 编码字符从 850 转换为 1252 和 Unicode。
打开 命令提示符 窗口并运行命令
chcp
或 mode con
,以查找当前用户帐户在控制台窗口中的 Windows 计算机上使用的 OEM 代码页。
我使用Notepad++。选择第一个编码(例如 OEM 850)并正常输入。