提取时日文文件名出现乱码
Posted
技术标签:
【中文标题】提取时日文文件名出现乱码【英文标题】:Japanese filename is getting garbled while extracting 【发布时间】:2014-08-27 04:40:29 【问题描述】:我正在压缩一个 .csv 文件,如下所示:
fileInputStream = new FileInputStream(csvFile);
final ZipEntry zipEntry = new ZipEntry(csvFile.getname());
zipOutputStream.putNextEntry(zipEntry);
final byte[] buffer = new byte[4 * 1024];
int size = fileInputStream.read(buffer);
while (size != -1)
zipOutputStream.write(buffer, 0, size);
size = fileInputStream.read(buffer);
文件名还包含日文/中文字符 使用 winzip/7-zip 解压时,解压后的 .csv 文件名不会乱码,但使用默认 windows 解压器时,文件名会乱码。
【问题讨论】:
您是否使用同一台计算机进行压缩和解压缩? zip文件格式不知道文件名的字符编码。 没有文件被压缩并通过电子邮件发送 您好,我使用 mimiutility 对 shiftjs 中的文件名进行编码,现在可以正常工作,以防附件是从 Outlook Web Access 下载的,但从 Outlook 2013 下载时无法正确提取。有什么想法吗? 我的想法是,zip文件格式不知道文件名的字符编码。 【参考方案1】:我用过:
String fileName = MimeUtility.encodeText(filename,"SJIS",null);
然后它似乎在默认语言为日语的系统上运行良好。
【讨论】:
以上是关于提取时日文文件名出现乱码的主要内容,如果未能解决你的问题,请参考以下文章