Реклама

Previous Entry | Next Entry

7 Мар, 2009

  • 9:30 AM
Рожа цветная
Упёртость линукс-разработчиков иногда раздражает.
Два примера.

Пример 1 - pidgin
. Симпатичный GTK-шный ICQ-и-много-чего-ещё-клиент, удобный и быстрый. Проблема одна - кодировки. Дело в том, что в ICQ-протоколе нет стандартной кодировки сообщений. Вроде как когда-то была установлена в качестве таковой UTF-8, но разработчики клиентов под Windows на это плюют - они знают только cp1251. Аська-онлайн (общение с сайта) работает наоборот как раз на UTF. В итоге имеем кракозябры в сообщениях. Разработчики нормальных клиентов  - Miranda, SIM, Kopete - давно уже сделали индивидуальную настройку кодировки для каждого пользователя. Приходят тебе от кого-то кракозябры - подбери правильную кодировку и живи спокойно. Разработчики Pidgin - упрямы. Ни в одном релизе НЕТ индивидуальной настройки кодировки. Можно настроить кодировку для всего ICQ-аккаунта, одну, общую. Всё. На форумах по этому поводу ответ один: "ICQ- дерьмовый протокол! Им не нужно пользоваться!" Не "Мы - говнопрограммеры, упрямые как ослы", а именно так. В каком мире они живут? Они что, реально надеются, что либо Linux-пользователи уйдут в Jabber-резервацию и порвут все общение с классово чуждыми виндузятниками, либо протокол ICQ будет побеждён, и каждому рядовому windows-юзеру явится с небес видение о великом могуществе Jabber? Так ведь не будет этого никогда!

Пример 2 - аналогичный. Музыкальный проигрыватель AmaroK. Очень хорошая программа, с массой возможностей, стыкующаяся с mp3-плеерами, связывающаяся с интернетом в поисках информации о треке, исполнителе и т.д... В общем - аналог iTunes в некотором роде. Но! В формате mp3 предусмотрены тэги. И по стандарту заполнение тэгов производится в  - угадали! - кодировке UTF-8. Каковую и поддерживает AmaroK. А вот WinAmp - массовая программа у Windows-пользователей - заполняет тэги в кодировке cp1251. В какой кодировке закодированы тэги в 99% композиций формата mp3 в русскоязычном пространстве? Угадали. В ней самой. Как вы думаете, AmaroK поддерживает на чтение какую-либо альтернативную кодировку для тэгов? Нет. Потому что стандарт. Оставим в стороне разработчиков WinAmp, которые упорно не следуют стандарту. Но почему поддержка других кодировок в AmaroK БЫЛА до некоторой версии, а потом ИСЧЕЗЛА? И теперь, если у тебя коллекция mp3 с кириллическими тэгами - то надо либо любоваться на кракозябры, либо перекодировать всё в UTF (и тогда кракозябры будут в других плеерах), либо устанавливать специальные библиотеки от xmms-плеера, написанные совершенно не имеющей отношения к AmaroK командой разработчиков...

Вот может кто-нибудь мне это разумно объяснить?

Comments

( 13 комментариев — Оставить комментарий )
[info]tucha wrote:
7 Мар, 2009 08:44 (UTC)
A ty pogovori s razrabotchikami :-)
Ja vot uje mesiats obshajus s rebiatami iz Parsixa - ochen milo. :-)
[info]stormbird wrote:
7 Мар, 2009 09:56 (UTC)
Забавная ситуация получается: формально стандарт UTF8, потому что позволяет отображать символы любой другой кодировки, правда, с некоторыми дополнительными усилиями. Де-факто используется ср1251, достаточный для отображения той части символов, которая требуется 99% пользователей. В итоге получается односторонняя дорога, где поток, по каким-то причинам, движется против направления, заданного знаком, а отдельные редкие машины пытаются следовать правилам. Формально -- рай для надзорных органов, фактически -- никто не отменял правило насчет "лучшая скорость -- скорость потока", в котором скорость можно понимать не только как скаляр, но и как вектор :).

Вообще UTF8 используется в тех случаях, когда хочется поддерживать любую кодировку. Вот браузерная игрушка, регион пользователей не ограничен, названия игровых сущностей хранятся и отображаются с использованием UTF8 -- в итоге на одной странице (и даже в одном названии) можно видеть рядом китайские иероглифы (именно иероглифы, а не краказябры :), европейские умляуты и кириллические символы. Но для этого, разумеется, нужно приложить усилия разработчикам, чтобы читать, сохранять и выводить текст без потерь кодировки.

Кстати, вот тут очень хорошая статья: короткий ликбез про кодировки.
[info]fat_crocodile wrote:
7 Мар, 2009 11:25 (UTC)
Отличная статья, спасибо за ссылку.

Проблема в том, что что в html кодировку указать можно, а в сообщении icq нельзя. Можно либо угадать, либо знать заранее. Конечно, авторы протокола заслуживают не меньшего порицания. Конечно, программисты, написавшие нестандартные клиенты заслуживают большего порицания. Но упёртость упомянутых Чижиком товарищей непонятна: вроде бы это не так и сложно сделать, так в чём проблема?
[info]stormbird wrote:
7 Мар, 2009 13:04 (UTC)
(Спольски вообще хорошо пишет, его "Joel on software" переведено у нас книгой "Джоэл о программировании" -- полезно и интересно, это глава оттуда. Похоже, что большинство других глав можно найти здесь.)

Авторы протокола, кстати, поступили как раз совершенно верно. Поскольку ICQ-протокол предполагался к использованию по всему инету, юзерами с разными наборами символов -- UTF8 был идеальным решением (см. выше: это способ закодировать любой символ любой кодовой страницы). И то, что большинство windows-климентов его не поддерживают, это действительно неправильно, но это факт, с которым сейчас приходится жить. Так что я тоже не понимаю той упертости.
[info]stormbird wrote:
7 Мар, 2009 13:54 (UTC)
Задал кстати у себя вопрос на смежную тему: http://stormbird.livejournal.com/116406.html
[info]ivanaxe wrote:
7 Мар, 2009 17:42 (UTC)
ответил, кстати ;)
[info]dimofei_78 wrote:
7 Мар, 2009 10:15 (UTC)
Так можно ворчать до бесконечности... Ибо линух - это "сделай сам".
Еще могу привести в пример 4 винампообразных плейера(xmms, bmp, audocious, qmmp), каждый из которых не является полноценной заменой winamp-у. Каждому требуется доработка напильником. И все равно не получается полноценной замены - в xmms проблемы с кодировками, в bmp мало подключаемых модулей, умеет играть только mp3, ogg, wav, cda, в audacious кривая поддержка midi и wav(!!!), а также mp3 с плавающим битрейтом, qmmp просто сырой и часто вываливается.
А с jabber все же понятно - чем меньше подерживают icq тем больше народу переползает на жаббер ;)
[info]ivanaxe wrote:
7 Мар, 2009 17:44 (UTC)
А зачем искать замену винампу?
[info]dimofei_78 wrote:
7 Мар, 2009 21:10 (UTC)
Затем, что мне нравится винамп.
[info]just_being_glad wrote:
7 Мар, 2009 14:21 (UTC)
Первую проблему я решаю заведением нескольких account и держу несколько кодировок.

Зато удобно: приходит спам из вопросиков --- и почти не раздражает.
[info]lvova wrote:
7 Мар, 2009 15:36 (UTC)
Тебя сильно поражает то, что эти люди не хотят делать то, что не хотят делать? :)
[info]ivanaxe wrote:
7 Мар, 2009 17:43 (UTC)
Вернее, что не хотят исправлять проблему, которой для них попросту несуществует ;)
[info]ivanaxe wrote:
7 Мар, 2009 17:27 (UTC)
А много ль у этих двух программ кириллическо-язычных разработчиков? У амарёка с ходу не нашёл. Сказать аптгет поставь пиджин мне немножечко лениво, сорри.
Если и у него нет -- то я как минимум не удивлён. Ибо где нет кириллицы этих проблем просто не возникает.

Кстати про mp3-теги ИМХО правильнее не подгоняться под непонятно что, а перекодировать теги в массовом порядке, благо это можно сделать массово и ненапряжно... Кажется когда я последний раз жил на вин-32, плееры, которые я использовал, читали юникод без каких-либо проблем...
( 13 комментариев — Оставить комментарий )

Profile

Рожа цветная
[info]avis_avis
Игорь Евдокимов (Чижик)
Группа "Tam Lin"

Latest Month

Декабрь 2009
Вс Пн Вт Ср Чт Пт Сб
  12345
6789101112
13141516171819
20212223242526
2728293031  

Tags

Разработано LiveJournal.com
Designed by Keri Maijala