Re: DVD-плеер
On 2010.08.10 at 15:34:02 +0400, Иван Лох wrote:
> On Tue, Aug 10, 2010 at 02:16:12PM +0300, Elena Egorova wrote:
> > vlc же абсолютно взрывает мозг своей неспособностью работать с
> > русскими именами файлов. В котором открыть файл невозможно НИКАК. А
>
> Это нормальное поведение. Glib не знает априори кодировку файлов
> в файловой системе. Если Вы не указали ее явно, то она полагается
Это - не нормальное поведение. Glib-у вообще НЕХРЕН знать про
существование кодировок. Glib-у передали последоватльность байт, которая
с точки зрения пользователя является именем файла, и его дело - скормить
эту последовательность в системный вызов open как есть, не выполняя с
ней никаких действий.
Если имя файла надо отобразить в GUI, значит точно также надо передать
эту последовательность байт в XmbDrawString. Она как-нибудь разберется.
Она, в отличие от Glib и Gtk имеет представление о локали.
То, что делает в данном случае GLIB называется неестественный интеллект.
За который надо бить канделябрами. Ибо дело программы - делать что юзер
сказал.
Но вообще-то вся GLib лишний уровень абстракции. Который только портит
жизнь. Если тебе нужно писать на С - пиши на C и НЕ ПОЛЬЗУЙСЯ левыми
фреймоврками. Системные вызовы, libc, libX11.
А если тебе нужно писать на языке высокого уровня - возьми ЯЗЫК высокого
уровня. scheme, python, tcl. Но не пытайся делать из C язык высокого
уровня посредсвом библиоте. Выйдет дерьмовина вроде Gtk.
Впрочем, бывает еще хуже - называется Qt. Там не только для строк свою
обвязку в графическом тулките изобрели - там уже и к звуку интерфейсы, и
к базе данных и так далее. И все это на C++ у которого ABI между разными
версиями одного и того же компилятора, не говоря уж о разных
компиляторах не совместим.
> UTF8. Теперь он смотрит на вашу локаль (KOI8-R) и конвертирует
> имя файла из UTF8 в текщую локаль. Но такая операция, как правило,
> приводит к ошибке. В множестве символов KOI8-R просто нет таких символов.
>
> Идея считать, что кодировка имен ФС и процесса одна и та же IMHO
> -- много большее зло.
>
>
> --
> To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> Archive: [🔎] 20100810113402.GA7454@nano.ioffe.rssi.ru">http://lists.debian.org/[🔎] 20100810113402.GA7454@nano.ioffe.rssi.ru
>
Reply to: