Японское имя файла искажается при извлечении
Я архивирую файл.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 по умолчанию искажается имя файла.
1 ответ
Решение
Я использовал:
String fileName = MimeUtility.encodeText (имя файла,"SJIS", ноль);
и тогда, похоже, он отлично работал в системах, где языком по умолчанию был японский.