Хороший вопрос! Ожидается, что, как и любая команда Unix, tar может транслировать свой вывод в другую программу, если это возможно, включая данные имени файла. Быстрый поиск в Google показывает, что это так: как описано в этом сообщении в блоге, GNU tar поддерживает параметр -to-command для записи вывода в канал вместо прямой работы с каталогом.
http://osmanov-dev-notes.blogspot.com.br/2010/07/how-to-handle-filename-encodings-in.html
Так что вопрос написания сценария для преобразования файла в UTF-8, как это сделано в цитируемом сообщении. Другой вариант, также описанный в тексте, становится очевидным после того, как вы прочитали его, чтобы просто извлечь все, а затем написать сценарий для преобразования каждого файла в каталог. В ссылке есть тривиальный скрипт php, который делает это.
Наконец, вы всегда можете написать свою собственную версию tar с помощью языков сценариев, и это легко. Python, например, имеет модуль встроенный в файл обработан стандартной библиотеки:
http://docs.python.org/2/library/tarfile.html#examples
Вы можете использовать TarFile.extractfile(), shutils.copyfileobj() и str.decode() в цикле, чтобы вручную извлечь при изменении имени имени файла.
Ссылки:
http://www.gnu.org/software/tar/manual/tar.html#SEC84
http://docs.python.org/2/library/tarfile.html
http://www.manpagez.com/man/1/iconv/
Благодаря hdante. Это не помогло одной причине - я не программист на Python. Кроме того, приложение очень большое, и файлы распространяются через сотни каталогов. – amirak17
copy-paste dispatch_arc_file.sh описана на странице Османова. Это скрипт оболочки, а не код python. Затем запустите команду, как он писал в описании со старой кодировкой в качестве параметра. – hdante