Кракозябры в архивах

Уже спрашивал, но там это был оффтопик, создам отдельную тему. Есть куча rar'ов, запакованных в винде. В линуксе открываются кракозябрами. Пример: http://proffessorr.homelinux.org/example.rar (около 7 метров, меньше не нашел). В системе локаль utf-8 ru, часть архивов запаковывалась под вистой, где вроде как тоже юникод, но кракозябры при открытии и этих архивов. А там куча книг, статей и прочего - в общем, нужные вещи.
Скачал, открыл в FileRoller (DE - xfce) - все по-русски (“На дне”, “Преступление и наказание”…).
А если в терминале:
unrar l example.rar
Тоже вывод не по-русски?
Тоже попробовал, thunar+xarchiver открывают всё правильно. То же и в muCommander, при нажатии ENTER на файле архива. Все имена на месте.
Однако вот tuxcmd тупит и показывает кракозябры.
А если в терминале:
unrar l example.rar
Тоже вывод не по-русски?
А так - по-русски. А вот что MC, что Krusader, что Ark - кракозябрами.
ProFfeSsoRr
А вот что MC, что Krusader, что Ark - кракозябрами.
Проверил MC - тоже кракозябры.
Проверил MC - тоже кракозябры
Запустил в терминале МС - и просматривает и распаковывает - все по-русски. :-\
[[email protected] ~]$ locale -a
C
POSIX
en_US.utf8
ru_RU.utf8
[[email protected] ~]$ locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE=C
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
SunStroke
Запустил в терминале МС - и просматривает и распаковывает - все по-русски. :-\
[[email protected] ~]$ locale -a
C
POSIX
en_US.utf8
ru_RU.utf8
[[email protected] ~]$ locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE=C
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
У меня с локалями всё то же самое. Кроме имён компьютера и пользователя всё идентично. Но МС и tuxcmd в архиве показывают кракозябры.
Правда, у меня не обычный MC, а “mc-slavz 4.7.0pre2-1” из AUR
Но как уже писал выше, тот же архив в xarchiver и mucommander выглядит нормально, все русские слова на месте. Странно это…
Правда, у меня не обычный MC, а “mc-slavz 4.7.0pre2-1” из AUR
Эх, не привлекают меня всякие форки, но почитал чейнджлог от pre3. Есть там такой пунктик:
- charset support enabled by default (–enable-charset option)
ИМХО: либо обновитесь до pre3 либо в команду запуска МС добавьте –enable-charset. Вдруг поможет.
SunStroke
- charset support enabled by default (–enable-charset option)
ИМХО: либо обновитесь до pre3 либо в команду запуска МС добавьте –enable-charset. Вдруг поможет.
–enable-charset - это параметр сборки, а не запуска.
Тем не менее, обновил себе до mc-slavz 4.7.0pre3-1
Теперь, в том самом злополучном архиве, можно нажать Ctrl-T и выбрать кодировку CP 866, только тогда в архиве появляются русские буквы. Стоит из архива “выйти” и “войти” вновь, как снова начинаются кракозябры - нужно снова жать Ctrl-T и снова ставить CP 866. Такая вот песня.
Так ребята… перестаём мозги трахать друг другу всякими чарсетами.

За работу с архивами в Midnigth Commander-е отвечают скрипты, которые находятся /usr/share/mc/extfs/.
Поэтому самому МС нет никого дела до того в каком виде архив - ему что выдали на входе, то он и отображает.

Так что идём в файлик /usr/share/mc/extfs/urar
Находим строки:
LC_ALL=C
export LC_ALL
У меня это 96 и 97 строка.
И комментарим их нахрен.
#LC_ALL=C
#export LC_ALL
И наслаждаемся русским языком в рар-архивах.
Ну не забываем сказать "спасибо". :)
 
Зарегистрироваться или войдите чтобы оставить сообщение.