Проблемы с кодировкой WordPress 2.7

Заметил что в некотрых случаях все AJAX ответы в админке возвращаются с неверной кодировкой. Изза этого все надписи кирилицей повреждены.

Это происходит тогда когда дефолтовая кдировка www хоста отличается от кодировки установленой в wordpress.

Лечится это маленьким изменением в wp-includes/admin-ajax.php

Нужно подправить метод send() объекта WP_Ajax_Response, привести его к такому виду.

function send() {
header('Content-Type: text/xml; charset=' . get_option('blog_charset'));
echo "";
foreach ( (array) $this->responses as $response )
echo $response;
echo '';
die();
}

вот и все 🙂

8 thoughts on “Проблемы с кодировкой WordPress 2.7”

  1. Да, красивое решение если включен allow override для вашего www домена (разрешены .htaccess)
    На самом деле это более баг разработчиков wordpress и думаю в следующих версиях они это исправят.

  2. Добрый день.
    Уже устал бороться с кривыми кодировками, может вы что-то подскажете?

    Обновился до версии 2.7. Теперь при добавлении комментария они практически всегда добавляются в кодировке cp1251. Но более всего меня поражает, когда в админ-панели при обновлении страницы (например, доски объявлений) мы получаем нормальную кодировку комментариев (http://slava.in.ua/temp/bag-1.png), но уже при следующем обновлении – битую (http://slava.in.ua/temp/bag-2.png). И так ПОСТОЯННО! То же самое при редактировании статей и т.п.

    MySQL-кодировка: UTF-8 Unicode (utf8)
    Все сравнения (таблицы, столбцы) – utf8_general_ci
    В .htaccess прописано AddDefaultCharset utf-8 (другие варианты хостинг не воспринимает)

  3. Странно…у меня не помогло ни описанное выше, ни htaccess…
    в чем может быть проблема?

  4. Подскажите , будьте добры, в новом вордпрессе 3.0.4 папки в разных местах. скажите как сделать это решение в новом вордпрессе.

  5. положите файл .htaccess где прописано AddDefaultCharset utf-8 в корень сайта

  6. К сожалению, коллеги, подобные ошибки в коде wordpress не устранены до сих пор. Я согласен с автором, что проблему нужно решить в коде php, а не на уровне php.ini или htaccess.
    Кстати – ошибок больше, чем одна. У себя в статье описал 3 ошибка wordpress 3.2 с этими же корнями, и править необходимо в 3х разных файлах. Разработчикам в форум написал, реакции пока никакой (прошло две недели). Предлагаю поддержать мою просьбу к разработчикам, чем больше будет сообщений в этой теме, тем больше шансов, что разработчики обратят внимание на эти ошибки.

Leave a Reply

Your email address will not be published. Required fields are marked *