Мой сайт о WordPress и PHP С Днем победы!
26 июля 2006

Версия WordPress в кодировке WINDOWS-1251

Читали 3160 раз
Рубрика: Мои статьи о WordPress
Навигация: Главная » WordPress » Мои статьи о WordPress

На сайте выложена версия WordPress для кодировки WINDOWS-1251.

Подробнее: http://maxsite.org/wp203rus

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

12 комментариев к “Версия WordPress в кодировке WINDOWS-1251”

  1. phil:

    Я что-то не пойму, а что принципиально меняется, что надо дистриб целый выкладывать? Разве нельзя настройками задать кодировку?

  2. Максим:

    Нет, нельзя. Текст нужно выводить в "своей" кодировке.

  3. phil:

    Не, я понимаю про "свою" кодировку. Я просто имею ввиду изначально, при установке, пока текста нет, задать кодировку как 1251 - разве этого не достаточно?

  4. Максим:

    Если перевод "вбит" прямо в WordPress, то для его корректного вывода нужно правильно указать кодировку. :) То есть конечно можно просто указать в настройках любую другую кодировку, тогда сам перевод (например, админ-панели) будет выводиться уже некорректно.

  5. phil:

    А, я все понял, я просто забыл, что у тебя перевод уже встроен. :) А чем, кстати, вызвано такое решение, это же не очень удобно, как мне кажется?

  6. Максим:

    Причин несколько. Первая - файлы локализации все равно большие и это сказывается на нагрузке сервера. Вторая - какая разница как будет выполнен перевод? Либо это будет дополнительный вызов php-функций (с поиском перевода), либо это будет уже вывод встроенного значения. Очевидно, что сразу вывести текст - на порядок быстрее и проще. :)

    Ну и кроме этого, локализация в основном касается админ-панели, то есть обычный посетитель просто не видит её, но "по-старому" она все равно загружалась при каждом вызове страниц, что совершенно бесмыссленно. :)

  7. Sol:

    При редактировании комментариев, если там встерчаются кавычки, 'одиночные' или "двойные", они экранируются \'вот так\' или \"вот так\". При повторном редактировании "экранировка" удваивается и так далее.

    В оригинальной версии и в локализации MyWordPress.ru этого нет. Хотя в целом твоя версия не в пример лучше.

  8. Максим:

    Проверил, ошибка и в оригинальной версии. Оказалось, что ошибка кроется в том, что WordPress экранирует кавычки символом "\" (php-функция addslashes) текст комментариев. Если не копать глубже, то исправление этого бага заключается в исправлении файла pluggable-functions.php.

    Можно скачать уже исправленный файл: http://maxsite.org/wp-files/pluggable-functions.zip

    Или поправить ручками этот файл.

    1. Найдите функцию:
    function check_admin_referer($action = -1)

    2. В ней строчку:

    $html .= "tt<input type='hidden' name='" . wp_specialchars( urldecode($k), 1 ) . "' value='" . wp_specialchars( urldecode($v), 1 ) . "' />n";
    

    3. Замените её на:

    $html .= "tt<input type='hidden' name='" . wp_specialchars( urldecode($k), 1 ) . "' value='" . wp_specialchars( stripslashes( urldecode($v)), 1 ) . "' />n";
    
  9. Sol:

    Спасибо :)

  10. Аркадий:

    День добрый! Хостинг, на котором был расположен блог переехал на другой сервер. В результате wp установленный под utf-8 стал выдавать глюки
    http://vip-rm.info
    пробовал переставить Вашу сборку на 1251, причем по совету хостеров, они дали ссылку на Ваш сайт. Ничего не получается, не апгрейд, ни инсталяция на старую базу. Есть ли выход из ситуации? Помогите советом

  11. Аркадий:

    сам блог здесь http://blog.vip-rm.info не соччтите за спам

  12. Максим:

    Об этой проблеме я неоднократно писал. В сборке от mywordpress.ru принудительно указывается параметр для базы данных SET NAMES UTF8. Из-за этого получается "каша": когда кодировка блога одна, а хранение базы может отличаться от той, что используется на сервере. В итоге, когда вы переносите базу или меняете кодировку происходит проблема конвертации данных. Теперь вам нужно опытным путем добавить строчки с SET в файл wp-db.php. Если у вас моя сборка, то все возможные варианты присутствуют: достаточно лишь убрать комментарии перед этимим строчками.


Оставьте комментарий! (Вы согласны с правилами)

 

:mrgreen: :neutral: :twisted: :arrow: :shock: :smile: :???: :cool: :evil: :grin: :idea: :oops: :razz: :roll: :wink: :cry: :eek: :lol: :mad: :sad: :!: :?:

При добавлении кода (html, php) заменяйте < на &lt; и > на &gt;.
Внимание: антиспам - зверь! Копируйте своё сообщение перед отправкой. На всякий случай.