我有一个使用 tomcat 提供的 Web 应用程序。
在其中一个页面上,它允许用户下载存储在我的文件服务器上的文件。那里存在的大多数文件的名称都是日文的。但是,当用户下载文件时,文件名是乱码。此外,它在不同的浏览器上的工作方式也不同。
原代码如下:
FileInputStream in = new FileInputStream(absolutePath);
ResponseUtil.download(new String(downloadFileName.getBytes("Shift_JIS"), "ISO-8859-1"), in);
例如,08_タイヨーアクリス_装置开発_実成绩表在 Google Chrome 中被解释为
08_ƒ^ƒCƒ^-[ƒAƒNƒŠƒX_'•'uŠJ”-_ŽÀ-Ñ• 在 Google Chrome 中
这个问题是由于文件名中存在“5c”和似乎是 Shift_JIS 中的一个已知问题。我想知道解决这个问题的正确方法。