Японское имя файла искажается при извлечении

Я архивирую файл.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", ноль);

и тогда, похоже, он отлично работал в системах, где языком по умолчанию был японский.

Другие вопросы по тегам