【问题标题】:window bat file not working with german umlauts窗口 bat 文件不适用于德语变音符号
【发布时间】:2019-07-01 17:59:27
【问题描述】:

我正在从 java 程序创建一个 .bat 文件:

 final OutputStreamWriter fop = new OutputStreamWriter( new FileOutputStream( "test.bat" ), Charset.forName( "UTF8" ) );

并使用Runtime.getRuntime().exec(); 执行它 在目录中 (C:\usr\testdir)

@echo off
cd C:\usr\testdir
echo "hello"

上面的bat文件执行成功。 但是当我更改包含德语变音符号的目录路径时,它给了我错误。: The system cannot find the path specified 其中 dir 路径 (C:\usr\wÖrkingÄÜÖ) 和 ./bat 将是相同的:

@echo off
cd C:\usr\wÖrkingÄÜÖ
echo "hello"

所以问题是包含变音符号的路径。在 Google 帮助后,我在 bat 文件顶部添加 chcp 652001 以更改 pageCode,但问题仍然存在。任何人都可以帮助我我所缺少的吗?

【问题讨论】:

标签: java batch-file character-encoding


【解决方案1】:

您应该使用65001,而不是652001。试试这个:

CHCP 65001
@echo off
cd C:\usr\wÖrkingÄÜÖ
echo "hello"

这应该强制批处理文件使用应该支持变音符号的 UTF-8 字符集。

【讨论】:

  • 我尝试了 cmd 屏幕截图。但它的工作相反。如果没有 chchp,如果我运行 chcp 65001,它的 cd 就可以工作,然后它会显示活动的代码页,但是我无法粘贴/写入德语变音符号。不知道为什么?
  • 您是否将 CHCP 65001 添加到您的批处理文件中,而不是直接在命令提示符中进行测试而不是尝试?
【解决方案2】:

我有类似的问题,并通过添加解决了它

chcp 1252

到 CP1252 编码的批处理文件。

【讨论】:

  • 我可以在带有德语键盘配置的 Windows 10 Pro 下确认此解决方案。
猜你喜欢
  • 1970-01-01
  • 2017-07-19
  • 1970-01-01
  • 2011-11-07
  • 2016-01-21
  • 2013-02-09
  • 1970-01-01
  • 1970-01-01
  • 2014-11-21
相关资源
最近更新 更多