[РЕШЕНО] Кодировка iso-8859-1 и кириллица в плейлистах

На одном сайте имеются ссылки на плейлисты.
В них указаны пути к фильмам, находящимся в локальной сети ( smb://video.. .).
Плейлисты для разных плееров, в основном виндовых, но есть и для линуксовых - ксайн и кофеин.
Проблема в том, что все плейлисты в кодировке iso-8859-1 (кроме .xspf для виндового влц), а многие пути в них с кириллическими символами. Из-за чего ни влц, ни эмплэер их не играют. Если перекодировать плейлисты в ютф8, все играется нормально.
Добавил ru_RU ISO-8859-1 в /etc/locale.gen, сделал sudo locale-gen, выдает:
Generating locales...
  en_US.UTF-8... done
  en_US.ISO-8859-1... done
  ru_RU.UTF-8... done
  ru_RU.iso-8859-1...файл отображений знаков «iso-8859-1» не найден: Нет такого файла или каталога
/usr/share/i18n/locales/ru_RU:76: LC_MESSAGES: неизвестный знак в поле «yesexpr»
/usr/share/i18n/locales/ru_RU:77: LC_MESSAGES: неизвестный знак в поле «noexpr»
/usr/share/i18n/locales/ru_RU:82: LC_MONETARY: неизвестный знак в поле «currency_symbol»
/usr/share/i18n/locales/ru_RU:105: LC_TIME: неизвестный знак в поле «day»
/usr/share/i18n/locales/ru_RU:106: LC_TIME: неизвестный знак в поле «day»
/usr/share/i18n/locales/ru_RU:107: LC_TIME: неизвестный знак в поле «day»
/usr/share/i18n/locales/ru_RU:108: LC_TIME: неизвестный знак в поле «day»
/usr/share/i18n/locales/ru_RU:109: LC_TIME: неизвестный знак в поле «day»
/usr/share/i18n/locales/ru_RU:110: LC_TIME: неизвестный знак в поле «day»
/usr/share/i18n/locales/ru_RU:111: LC_TIME: неизвестный знак в поле «day»
/usr/share/i18n/locales/ru_RU:112: LC_TIME: неизвестный знак в поле «abday»
/usr/share/i18n/locales/ru_RU:113: LC_TIME: неизвестный знак в поле «abday»
/usr/share/i18n/locales/ru_RU:114: LC_TIME: неизвестный знак в поле «abday»
/usr/share/i18n/locales/ru_RU:115: LC_TIME: неизвестный знак в поле «abday»
/usr/share/i18n/locales/ru_RU:116: LC_TIME: неизвестный знак в поле «abday»
/usr/share/i18n/locales/ru_RU:117: LC_TIME: неизвестный знак в поле «abday»
/usr/share/i18n/locales/ru_RU:118: LC_TIME: неизвестный знак в поле «abday»
/usr/share/i18n/locales/ru_RU:119: LC_TIME: неизвестный знак в поле «mon»
/usr/share/i18n/locales/ru_RU:120: LC_TIME: неизвестный знак в поле «mon»
/usr/share/i18n/locales/ru_RU:121: LC_TIME: неизвестный знак в поле «mon»
/usr/share/i18n/locales/ru_RU:122: LC_TIME: неизвестный знак в поле «mon»
/usr/share/i18n/locales/ru_RU:123: LC_TIME: неизвестный знак в поле «mon»
/usr/share/i18n/locales/ru_RU:124: LC_TIME: неизвестный знак в поле «mon»
/usr/share/i18n/locales/ru_RU:125: LC_TIME: неизвестный знак в поле «mon»
/usr/share/i18n/locales/ru_RU:126: LC_TIME: неизвестный знак в поле «mon»
/usr/share/i18n/locales/ru_RU:127: LC_TIME: неизвестный знак в поле «mon»
/usr/share/i18n/locales/ru_RU:128: LC_TIME: неизвестный знак в поле «mon»
/usr/share/i18n/locales/ru_RU:129: LC_TIME: неизвестный знак в поле «mon»
/usr/share/i18n/locales/ru_RU:130: LC_TIME: неизвестный знак в поле «mon»
/usr/share/i18n/locales/ru_RU:131: LC_TIME: неизвестный знак в поле «abmon»
/usr/share/i18n/locales/ru_RU:132: LC_TIME: неизвестный знак в поле «abmon»
/usr/share/i18n/locales/ru_RU:133: LC_TIME: неизвестный знак в поле «abmon»
/usr/share/i18n/locales/ru_RU:134: LC_TIME: неизвестный знак в поле «abmon»
/usr/share/i18n/locales/ru_RU:135: LC_TIME: неизвестный знак в поле «abmon»
/usr/share/i18n/locales/ru_RU:136: LC_TIME: неизвестный знак в поле «abmon»
/usr/share/i18n/locales/ru_RU:137: LC_TIME: неизвестный знак в поле «abmon»
/usr/share/i18n/locales/ru_RU:138: LC_TIME: неизвестный знак в поле «abmon»
/usr/share/i18n/locales/ru_RU:139: LC_TIME: неизвестный знак в поле «abmon»
/usr/share/i18n/locales/ru_RU:140: LC_TIME: неизвестный знак в поле «abmon»
/usr/share/i18n/locales/ru_RU:141: LC_TIME: неизвестный знак в поле «abmon»
/usr/share/i18n/locales/ru_RU:142: LC_TIME: неизвестный знак в поле «abmon»
LC_MESSAGES: значение поля «yesexpr» не должно быть пустой строкой
LC_MESSAGES: значение поля «noexpr» не должно быть пустой строкой
Хотя, после locale -a
locale -a
C
en_US
en_US.iso88591
en_US.utf8
POSIX
ru_RU
ru_RU.iso88591
ru_RU.utf8
но LC_ALL=ru_RU.iso88591 mplayer -playlist download/pl/playlist.pls
MPlayer SVN-r32663-4.5.1 (C) 2000-2010 MPlayer Team
161 audio & 350 video codecs
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing smb://media-ix.com/DOM-Video-9/����� � ����� ���� �����/Artur.i.voyna.dvuh.mirov.2010.D.DVDRip.avi.
Using netbios name SSSR.
Using workgroup MYGROUP.
Server not using user level security and no password supplied.
Could not open from LAN: 'smb://media-ix.com/DOM-Video-9/����� � ����� ���� �����/Artur.i.voyna.dvuh.mirov.2010.D.DVDRip.avi'
Failed to open smb://media-ix.com/DOM-Video-9/����� � ����� ���� �����/Artur.i.voyna.dvuh.mirov.2010.D.DVDRip.avi.
Я уже даже не знаю куда копать.
Может кто знает какой-нить костыль?
Добавил в smb.conf в секцию <unix charset = CP1251> и и плейлисты заиграли. Но блин, теперь вместо русских названий файлов - каракули. Кто чёго посоветует.

upd: Проблема решена. в консоле пишу: LANG=ru_RU.CP1251 mplayer -playlist <плейлист>.
Из файлового браузера - ассоциировал с env LANG=ru_RU.CP1251 mplayer -playlist %f

ps: Не знаю как в название темы добавить решено.
Что-то где-то опять сломали.
Команда LANG=ru_RU.CP1251 mplayer -playlist <плейлист> уже не работает.
Если прописываю в /etc/samba/smb.conf строчку
unix charset = cp1251
работает и LANG=ru_RU.CP1251 mplayer -playlist <плейлист>, и mplayer -playlist <плейлист>.
Но тогда имена файлов в смб-шарах на чужих машинах отображаются каракулями.
Кто что думает?
самое быстрое решение ето плеер с поддержкой “неправильной” кодировки. или перегенерация листов, я так и поступал
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
Где взять такой плеер?
Перегенерация хорошо, но как её сделать на лету я не знаю. Т.е. нажимаю ссылку на плейлист, фаерфокс спрашивает открыть или сохранить, жму открыть, открывается диалоговое окно, где я должен выбрать чем открыть. Но вот как написать скрипт, чтобы этот плейлист налету перегенерился и плеер открыл перегенериный скрипт - не знаю.
Виновата самба.
Откатился на версию 3.5. Заработало.
В smb.conf стоит параметр unix charset = LOCALE. Если под самбой 3.5 кодировку поменять на любую другую кроме LOCALE, плейлист играться не будет. Под самбой 3.6 играть не будет и с LOCALE. Но странно, что с LOCALE при открытии смб-шар будет просить пароль даже если его там нет. Если поставить utf8 шары открываются нормально.
ну и я про тоже, правда я думал что косячит смб на стороне машины с шарой… на лету такого нет, ноя где то читал,помоему на вики нашей, пример того как быстренько перегнать все теги в utf, правда мне не довелось воспользоваться и бо проблему решила поддержка кодировкив плеере, deadbeef коим пользуюсь, нормально ее читает, многие плееры выводят инфу в плейлист не по названию файла а по тегам,если те доступны. Однако я стараюсь как правило называть файлы транслитом, чтобы и в названиях проблем с кросплатформенностью так сказать не было. Для тех у кого коллекция уже имеется, можно воспользоваться программами переименования файлов и каталогов,как правило шаблон транслитации есть у каждой второй.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
Но странно, что с LOCALE при открытии смб-шар будет просить пароль даже если его там нет. Если поставить utf8 шары открываются нормально.
попробуй пересобрать конфиг заного, тестируя по частям…мне кажется что ето не от локалки зависит. Иногда опции конфигов меняются или например отменяется поддержка некоторых опций, или синтаксис..и самба к сожалению тоже не исключение из правила.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
Та я его уже как только не пересобирал. Юзал и стандартный, и созданный gadmin-samba, и SWAT.
А по поводу перекодирования плейлистов (там их много для разных плееров в том числе для каффеин и ксайн, но последние тоже не в ютф8, и даже если их перекодировать в ютф8 всё равно не играются не одним линуксовым плеером) я обращался к владельцам сайта, что б они кодировали винамповский плейлист (единственный, который играют линуксовые плееры) в ютф8 или создали новый на его основе, но они отказались.

З.Ы. В плейлистах только видео. Если б было аудио, то да, плеер найти можно, а так остаётся юзать старую версию самбы.
дело табак 400.
не знаю тогда остается только копатьв самбу,откуда вообще такая кодировка…обычно оно или utf, cp12xx, KOI8R, а тут исо, вдруг. единственно что приходит на ум ето dos charset и unix charset. Но как я понял ето уже испробовано.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
 
Зарегистрироваться или войдите чтобы оставить сообщение.