Как апгрейд Apache на виртуальном хостинге сломал кодировки set/echo в SSI

«Мастерхост» провел «технические работы на сервере виртуального хостинга», которые, как теперь выяснилось, включали апгрейд Apache httpd с ветки 1.3 на 2.2. Через две недели я случайно заметил, что апгрейд полностью сломал set/echo функционал SSI и текст выводимый через SSI стал нечитаем. Например, аннотации к заметкам с этого сайта теперь выглядят в «Гугле» вот так:

screenshot

В «Мастерхосте» ответили, что

«случай единичный [..] Похоже в ветках Apache 1.3 и 2.2 модуль mod_include работает по разному.»

То есть SSI переменными особо никто не пользуется, поэтому мои проблемы — это мои проблемы, и разбираться придется самостоятельно.

Как оказалось, в ветке Apache 2.х где-то в промежутке между 2003-им и 2010-ым годами немножко сломали кодировщик символов в SSI. В багтрекере Apache нашлись соответствующие баги: 25202, 47686. И в 2010-ом году некий фикс даже попал в trunk-ветку исходников. Только вот в текущие стабильные релизы это всё не попало, и не понятно, когда попадет.

Вспоминается увлекательная история «Русские заголовки в Thunderbird наладили за семь лет».

Особенно раздражает, что в 2011-ом (почти 12-ом) году, кодировки символов всё еще остаются серьёзной проблемой программного обеспечения. Причем, ладно «Апач», который написан на С сто лет назад (хотя примечательно, что имеет место не баг, а регресс). Но у «Гугла» и в связке из Java и Python — те же проблемы.

Избранное
Из недавнего

© Artem Kuroptev, 2005-2011.