Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 窗口bat文件不适用于德国umlauts_Java_Batch File_Character Encoding - Fatal编程技术网

Java 窗口bat文件不适用于德国umlauts

Java 窗口bat文件不适用于德国umlauts,java,batch-file,character-encoding,Java,Batch File,Character Encoding,我正在从java程序创建一个.bat文件: final OutputStreamWriter fop = new OutputStreamWriter( new FileOutputStream( "test.bat" ), Charset.forName( "UTF8" ) ); 并使用Runtime.getRuntime().exec()执行它 在目录(C:\usr\testdir)中 上述bat文件已成功执行。 但是,当我更改包含德语umlauts的目录路径时,会出现错误。: 系统找不

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

 final OutputStreamWriter fop = new OutputStreamWriter( new FileOutputStream( "test.bat" ), Charset.forName( "UTF8" ) );
并使用
Runtime.getRuntime().exec()执行它
在目录(C:\usr\testdir)中

上述bat文件已成功执行。 但是,当我更改包含德语umlauts的目录路径时,会出现错误。
:
系统找不到指定的路径
其中dir路径(C:\usr\wÖrkingÄÜÖ)和./bat将相同:

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

所以问题是包含umlauts的路径。在Google帮助之后,我在bat文件的顶部添加了
chcp 652001
,以更改页面代码,但问题仍然保持不变。谁能帮我找到我缺少的东西

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

CHCP 65001
@echo off
cd C:\usr\wÖrkingÄÜÖ
echo "hello"
这将强制批处理文件使用UTF-8字符集,该字符集应支持umlauts


我遇到了一个类似的问题,通过添加

chcp 1252

到CP1252编码的批处理文件。

也许您可以尝试
CP1252
编码,而不是
UTF8
。尝试使用:chcp 1252>nul。错误更改为path/to/dir/is not exexudetablewell我的意思是类似于
Charset.forName(“Windows-1252”)
。我试过cmd屏幕截图。但事实恰恰相反。如果我运行chcp 65001,没有chchp,它的cd会工作,然后它会显示活动的代码页,但我无法粘贴/写入德语umlauts。dnt不知道为什么?您是否已将其
CHCP 65001
添加到批处理文件中,而不是直接在命令提示符下进行测试?我可以在带有德国键盘配置的Windows 10 Pro下确认此解决方案。
chcp 1252