Вы здесь

[ignored] локаль и mplayer

после некоторых шаманств с локалью вылезла интересная штука.

в системе локаль такая:

john_doe@jd ~/download/Zdes'.kurjat.HDTVRip $ locale -a; locale
C
POSIX
en_US.utf8
ru_RU.utf8
LANG=
LC_CTYPE=ru_RU.UTF-8
LC_NUMERIC="POSIX"
LC_TIME=en_US.UTF-8
LC_COLLATE=C
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

LC_TIME - измененная en_US (для того, чтобы в гномовском календаре неделя начиналась с понедельника).

имеется фильм и русские субтитры к нему в UTF-8:

john_doe@jd ~/download/Zdes'.kurjat.HDTVRip $ file -i 1
1: text/plain; charset=utf-8

если запускать mplayer так:

john_doe@jd ~/download/Zdes'.kurjat.HDTVRip $ mplayer -sub 1 Zdes\'.kurjat.HDTVRip.avi 
MPlayer SVN-r29796-4.3.4 (C) 2000-2009 MPlayer Team

Playing Zdes'.kurjat.HDTVRip.avi.
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
VIDEO:  [XVID]  720x400  12bpp  23.976 fps  1808.3 kbps (220.7 kbyte/s)
Clip info:
 Title: Zdes'.kurjat.HDTVRip
 Product: ����
 Genre: ���������
 Comments: HDTVRip by KAE
 Software: VirtualDubMod 1.5.10.2 (build 2540/release) VirtualDubMod build 2540/release
 Engineer: KAE
ENCA detected charset: UTF-8

то оно хоть и пишет, что задетекчен UTF-8, все русские буквы отображаются в виде подчеркиваний.
если же запускать так:

john_doe@jd ~/download/Zdes'.kurjat.HDTVRip $ LC_ALL="ru_RU.UTF-8" mplayer -sub 1 Zdes\'.kurjat.HDTVRip.avi 
MPlayer SVN-r29796-4.3.4 (C) 2000-2009 MPlayer Team

Playing Zdes'.kurjat.HDTVRip.avi.
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
VIDEO:  [XVID]  720x400  12bpp  23.976 fps  1808.3 kbps (220.7 kbyte/s)
Clip info:
 Title: Zdes'.kurjat.HDTVRip
 Product: ����
 Genre: ���������
 Comments: HDTVRip by KAE
 Software: VirtualDubMod 1.5.10.2 (build 2540/release) VirtualDubMod build 2540/release
 Engineer: KAE
ENCA detected charset: UTF-8

то все ок, русские буквы в субтитрах отображаются корректно.
причем помогает именно export LC_ALL, перепробовал экспортировать все другие категории по одиночке - не помогло.

wtf?.. как mplayer берет локаль?

да, у mplayer в данном случае есть пользовательский конфиг:

john_doe@jd ~/download/Zdes'.kurjat.HDTVRip $ cat ~/.mplayer/config 
# Write your default config options here!
subcp=enca:ru:utf-8
stop-xscreensaver = "yes"
zoom = 1 # 
subfont-text-scale = "3"

но думаю, что это вряд ли влияет.

как-то само прошло... т.е. сейчас при такой локали:

LANG=
LC_CTYPE=ru_RU.UTF-8
LC_NUMERIC="POSIX"
LC_TIME=en_US.UTF-8
LC_COLLATE=C
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

и при таких субтитрах:

Zdes'.kurjat.HDTV.Rus.srt: text/plain; charset=utf-8

все ок, никаких дополнительных переменных при запуске mplayer добавлять не нужно. хрен знает, что было, возможно все встало на свои места после ребута (пришлось тут сделать разок)