【发布时间】:2017-06-03 11:39:07
【问题描述】:
在 Linux(openSUSE) 机器上,我尝试在 Tomcat 8 应用程序(war 文件)上部署,该应用程序包含一个名称为 Unicode 字符的文件。
war 文件内部的名称如下所示:
бжк-природний-1496336830201.xml
但部署后文件看起来像:
???-?????????????-1496336830201.xml
如何告诉 Tomcat 正确部署文件名?
更新
这是一个带有 Unicode 文件名的示例 war 文件:war file
这场战争里面文件的文件名有什么问题?
更新
我已经安装了unzip-rcc,正如这里所建议的https://superuser.com/questions/1215670/opensuse-unzip-unicode-issue,现在WAR文件上的解压缩(控制台命令)工作正常,但Tomcat仍然部署文件时遇到同样的问题。
【问题讨论】:
-
如果把war解压到一个目录下,有特殊字符的文件名会保留吗?要尝试的另一件事是确保 JAVA 具有正确的编码。
-
是的.. unzip 会杀死文件名
-
这表明操作系统没有处理这种编码的字体或字符集。所以这不是 Java 的错 :)
-
是的,但我不知道有什么问题。我的 Jenkins/Maven 构建是否也有可能破坏文件名?如果压缩/解压缩从 Git 下载的原始文件 - 一切正常......只有 Jenkins/Maven 生成的 war 文件中的文件不能正常工作。
-
我已经按照superuser.com/questions/1215670/opensuse-unzip-unicode-issue 的建议安装了 unzip-rcc,现在 WAR 文件上的 unzip(console command) 工作正常,但 Tomcat 仍然部署具有相同问题的文件。如何配置 Tomcat 8 以正确部署文件?
标签: java tomcat unicode tomcat8 opensuse