Пишу это сюда, дабы добытое в результате многих часов громких высказываний вслух и бурного негодования миновали кого-нибудь ещё. Моя сегодняшняя проблема была в том, чтобы на Joomla 2.5 настроить теги, причём сделать так, чтобы для существовавших на сайте тегов их адреса остались такими же, какими были в Drupal, откуда мы с Маринкой переносили сайт. Хоть и выглядят они там по-уродски (/taxonomy/terms/115).
Для прописывания тегов нашлись два разных очень хороших компонента — cedTags и TorTags. cedTags, хоть и бесплатный, на мой взгляд покруче будет платного Tortags (у которого есть и бесплатная версия), но я в ходе попыток что-то сделать купил и его. Продавший его разработчик оперативно разводил руками на тему того, что у него-то всё работает и с кириллицей тоже работает. В общем, благодаря ему я понял, что дело точно где-то у меня, а не в самих плагинах.
Короче говоря, для прописывания ссылок у меня служит компонент Artio JoomSEF. Оба компонента для прописывания тегов были с ним вполне совместимы, но при попытке делать русские теги, выдавали ошибки и глючили, а вместо кириллицы в ссылках появлялись знаки вопроса.
Такие дела.
В общем я попытался реконструировать события... И выглядит это так. То ли это особенности панели cPanel, то ли в принципе MySQL, но по умолчанию вновь создаваемым базам данных присваивается кодировка latin1_swedish_ci. Как правило, это никому не мешает, ибо при создании таблиц прописываются кодировки и так далее. Но у компонента Artio JoomSEF свой подход к снаряду. Он, не мешкая прописывает своим таблицам и всем полям своих таблиц кодировку, которую обнаруживает не в настройках сайта, которым пользуется, а где-то добывает эту настройку базы данных.
В итоге не только таблица jos_sefurls, но и все поля этой таблицы оказываются в этой кодировке. После этого любые попытки воткнуть туда кириллицу превращаются в знаки вопроса. Замечу, что с Joomla при этом всё в полном ажуре, никаких проблем. Вот только где-то в невидимых глубинах сайт наполняется очень вопросительными метатегами. А я же возжелал ещё более хитрой штуки, я возжелал, чтобы JoomSEF делал редирект на страницу с кириллицей в URL. А он не смог.
Вообще-то я ненавижу Джумлу всей душой и не делаю на ней сайты. А вот Маринка как раз хотела именно Джумлу. И ради этого несколько недель чахла над переносом всего контента с Друпала.
Короче, поменял кодировку, всё работает. Надо бы теперь как-то три сотни уже прописанных в JoomSEF материалов перегенерировать, чтобы эти вопросики поудалять.
Оригинальная запись в блоге Волохонского:
JoomSEF и знаки вопроса вместо русских букв (кириллицы).