批处理文件中的国际字符

5

嘿,我在编写批处理文件时遇到了一些问题,需要指定一些包含国际字符(确切地说是挪威字母“ø”)的文件路径。

例如,文件名axporteføljedb.vbp(在记事本中看起来正常)在命令行上变成了axportef°ljedb.vbp,然后系统就会抱怨找不到它。

有什么建议吗?


https://dev59.com/XG855IYBdhLWcg3wsWr3 解决了类似的问题。 - Arnout
1个回答

4

如果您将批处理文件保存为带有挪威字符集的ANSI格式(例如使用Notepad ++),则它将起作用。然后,在cmd中,当您想运行批处理文件时,请先将代码页更改为支持挪威语的某些内容:chcp 1252(在控制台中)。


1
实际上,当我在批处理文件的顶部放置“chcp 1252”时,它起作用了。而且我只需要使用普通的记事本,不需要使用其他任何工具。 - Rune Aamodt
我猜它在记事本中工作是因为你已经将默认字符集设置为挪威语,或者我可能错了,我现在不太使用记事本。无论如何,很好你让它工作了。 - Andrei Pana
2
在这里澄清一下:控制台默认使用 OEM 字符集(CP437 或 CP850 最有可能),这 不是 系统的遗留编码(对于大多数西方区域设置,它是 CP1252)。这是由于历史原因而不幸发生的事情。遗憾的是,在批处理文件中,通常的建议(“该死的,使用 Unicode!”)并不是很有帮助,因为你可能会很快遇到 chcp 65001 的问题。还要注意一点:记住,即使在批处理内部,chcp 命令也会持续存在。因此,如果你仍然需要控制台,请将代码页重置为其旧值(你可以在开始时缓存它)。 - Joey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接