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