Здравствуйте!
Идея конвертировать на лету Utf8 -> Win1251 (кодировка БД MySQL в моём случае) выглядет привлекательной, т.к. в текущей конфигурации Win1251 (WP) – Win1251 (MySQL) некорректно работают Ajax-плагины. Но, честно говоря, у меня нет никакой необходимости в руссификации движка, отсюда вопрос: насколько сложно интегрировать механизм конвертации (назовём его MAXSITE_DB_CONVERT) в оригинальную английскую версию с сайта wordpress.org?
Я просмотрел файлы из русской версии, сравнил с оригинальной версией, отметил различия, но боюсь, что мог упустить какие-нибудь моменты. Если несложно, расскажите алгоритм внедрения механизма конвертации в оригинальную английскую версию.
Спасибо!
Вряд ли вы получите ответ…
Алгоритм настолько сложен? Или является коммерческой тайной? 🙂
А зачем использовать cp1251, если у Вас не используется кириллический текст? Основная причина использования cp1251 в блоге – это некорректная работа старых версий базы MySQL с utf-8. Но поскольку русских букв не будет, зачем Вам cp1251?
А если хотите всё же попробовать конвертировать, лучший выход для Вас – посмотреть, как это сделано в версии Макса. Он вообще-то не обязан выдавать все секреты :).
Я использую кириллический текст – блог на русском языке. Просто админ-панель я предпочитаю английскую, а перевод на русский (там где он реально нужен) сделан с помощью .mo файла. 🙂
Изначальный выбор кодировки 1251 был вызван отсутствием UTF-8 в MySQL провайдера. Текущая необходимость перехода на UTF-8 была вызвана желанием использования нескольких AJAX-плагинов к WP.
Вот я и хотел попробовать связку WP (UTF8) -> MySQL (1251). Но, в итоге, выбрал другой вариант, я не стал лезть в дебри перелопаченного Максом WP, а перешёл на другую площадку с поддержкой UTF-8. Проблемы мои только усугубились, потому что выяснилось чуть позже, что основная кодировка базы всё-таки 1251, а поддержка UTF-8 осуществляется с помощью таблиц сопоставлений. В итоге, мне пришлось вносить строчку "$this->query(‘SET NAMES utf8’);" в wp-db.php, из-за которой перестал работать плагин "Simple Tagging". 🙁 Самое обидное, что AJAX-плагины так и не заработали (по-прежнему выдавали без рефреша "иероглифы" вместо кириллицы). 🙁 🙁
А сегодня я провёл ещё один эксперимент. Я поставил WP на хостинг с базами с основной кодировкой UTF-8 и сопоставлением cp1251. И в итоге так и не сумел заставить работать, например AJAX Shoutbox. Экспериментировал с сопоставлениями, но в итоге, когда я писал по-русски, по-прежнему выходили иероглифы, либо вообще не выходил никакой текст. 🙁 На официальном сайте плагина всё в порядке с русским текстом (проблем с "иероглифами" нет), поэтому опять же всё упирается в хостинг… Но причину я пока не нашёл, видимо дело в этом несчастном сопоставлении соединения с MySQL, а в чём именно я так пока и не разобрался.
Может попробовать прописать в .htaccess кодировку по дефолту? Не знаю, поможет ли, опыта переезда с одного хостинга на другой у меня нет.