О©╫О©╫О©╫О©╫О©╫О©╫
Jan. 7th, 2011 08:29 pmОфигеть! В 20-х годах XXI века всё ещё существуют проблемы с кодировкой. И не у поделки какого-нибудь Джона Пупкина из Лос-Мухосранска, а у лидера публичных сетевых сервисов, у Гугля. Пользоваться Google Groups для русскоязычных (и прочих, использующих кириллицу) пользователей невозможно (те же проблемы испытывают греки и частично немцы). Нет, письма по почте, к счастью, проходят (хотя я вижу многочисленные жалобы и на проблемы с этим). Но попробуйте посмотреть архивы через веб:
О©╫О©╫О©╫О©╫О©╫О©╫.
О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫ 3 О©╫О©╫О©╫О©╫ О©╫О©╫О©╫О©╫О©╫О©╫:
1. О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
2. О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫О©╫
3. О©╫О©╫О©╫О©╫О©╫О©╫О©╫
Не знаю, сколько раз и в какие и из каких кодировок перекодирован текст для получения этих «смайликов», но очевидно, что среди этих преобразований было несколько разрушительных. Весь текст превратился в повторения триады «О©╫», исходный текст не восстановил бы и Шерлок Холмс. Да, в заголовках писем кодировка указана, и правильная.
Разработчики Гугля отмахиваются от таких мелких проблем — у них же всё работает. Проблему с кодировкой обосновывают тем, что другие не придерживаются стандартов — а значит и они не будут придерживаться их тоже. И идут лесом не те, кто стандартов не придерживается, а те, кто придерживается.
Возможное частичное решение. Говорят, что помогает использование UTF-8 в новых письмах. Но кодировку письма не всегда можно задать. И уже существующие архивы это, понятно, не спасёт.
P. S. По всей видимости это преобразование ASCII → UTF-8 (с игнорированием ошибок), а потом KOI8-R → UTF-8. Уничтожение текста происходит ещё на первом шаге, но и второй после первого бессмысленен. Что-то я начинаю нехорошо думать о программистах Гуголя.
no subject
Date: 2011-01-07 07:10 pm (UTC)no subject
Date: 2011-01-08 05:04 am (UTC)Судя по всему, у них стоит фильтр, который пытается по эвристике определить кодировку. Только вот проверка на ASCII у них оказывается успешной, а на самом деле портит текст. Очевидно, ожидается, что кодек выбросит исключение для нетранслируемых символов, -- а он просто тихо заменяет их на "�".
no subject
Date: 2011-01-08 08:59 am (UTC)no subject
Date: 2011-01-08 09:00 am (UTC)no subject
Date: 2011-01-08 11:39 am (UTC)Content-Type: text/plain;
charset=KOI8-R
или
Content-Type: text/html; charset="utf-8"
Аналогично указывается и в служебных заголовках ответа веб-сервера. Уже давно, лет 10-15, если не 20.
Проблема в том, что некоторые устаревшие клиенты (преимущественно это относится с распространённым продуктам MS, хотя есть и другие уроды) плюют (плевали) на стандарт. Если просто не указывают кодировку и на той стороне приходится угадывать -- ещё полбеды. Хуже, если указывают неверно. Тогда другим приходится "угадывать", что в клетке лев, даже если на ней написано "бык". И вот на этом этапе искусственный интеллект Гуголя даёт сбой для кириллицы.