Java 当可执行JAR的路径/名称包含Unicode字符时,如何运行该JAR?

Java 当可执行JAR的路径/名称包含Unicode字符时,如何运行该JAR?,java,unicode,jar,executable-jar,Java,Unicode,Jar,Executable Jar,假设我有一个可执行的JAR文件,名为“ascąś©JAR”。 当我尝试双击运行它时,java.exe进程开始,但随后立即结束。 当我尝试使用命令从cmd.exe运行它时:java-jar“ascąś©.jar”它返回: C:\>java -jar "ascąś©.jar" Error: An unexpected error occurred while trying to open file asc??ę. 或者,如果当前目录中没有此类文件: C:\>java -jar "asc

假设我有一个可执行的JAR文件,名为“ascąś©JAR”。 当我尝试双击运行它时,java.exe进程开始,但随后立即结束。 当我尝试使用命令从cmd.exe运行它时:
java-jar“ascąś©.jar”
它返回:

C:\>java -jar "ascąś©.jar"
Error: An unexpected error occurred while trying to open file asc??ę.
或者,如果当前目录中没有此类文件:

C:\>java -jar "ascąś©.jar"
Error: Unable to access jarfile asc╣ťę.jar
当目录名中有Unicode字符时,也会发生同样的情况。 当名称/路径不包含Unicode字符时,JAR文件将正常运行

有人有同样的问题吗?我是否需要更改Java中的一些编码设置?我在哪里可以做这个

我的配置:

Windows 7 Professional SP1 32-bit EN
Java version: 1.7.0_03
这似乎是一个错误:Java启动器无法处理文件名中的unicode字符


您不能重命名JAR,或者临时将其复制到一个具有全部ASCII名称的文件中吗?如果您真的坚持(或被迫)在JAR文件名中使用unicode字符,您可以编写自己的启动器,知道如何处理它们——Eclipse开发人员为他们的启动器做了这件事。但这似乎太过分了。

试试8.3的名字

我无法用IDE创建一个“ascąśś©.jar”,但我确实创建了一个名为Unicode的文本文件,看起来这可能会起作用:

在Windows命令提示下,获取8.3文件名,然后使用该文件名代替unicode名称:

dir /x *.jar
java -jar ASC~1.JAR

您可以使用
chcp
更改Windows命令行编码,但可用编码的列表相当有限。看看是否有帮助。你试过“chcp 65001”吗?@lvaroG.Vicario@tbsalling
chcp 65001
850
437
1251
不起作用。此外,我想更改
chcp
并不能通过双击来解决运行JAR文件的问题。