Знаете ли вы какую-нибудь библиотеку/способ на Java для создания tar-архива с именами файлов в соответствующей национальной кодовой странице Windows (например, cp1250).
Я пробовал использовать Java tar, пример кода:
final TarEntry entry = new TarEntry( files[i] );
String filename = files[i].getPath().replaceAll( baseDir, "" );
entry.setName( new String( filename.getBytes(), "Cp1250" ) );
out.putNextEntry( entry );
...
Это не работает. Национальные символы сломаны там, где я извлекаю смолу в окнах. Я также обнаружил странную вещь: под Linux польские национальные символы отображаются правильно только при использовании ISO-8859-1:
entry.setName( new String( filename.getBytes(), "ISO-8859-1" ) );
Несмотря на то, что правильная польская кодовая страница — ISO-8859-2, она тоже не работает. Я также пробовал Cp852 для Windows, безрезультатно.
Я знаю ограничения формата tar, но изменить его не вариант.
Спасибо за предложения,