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

Рубрика: WordPress -> Версии WP
Среда, 26 июля 2006 г.
Просмотров: 2527
Подписаться на комментарии по RSS
]]>
]]>

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

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

]]>twitter.com Google Buzz google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru]]>

Комментариев: 13

Вы можете получать новые комментарии к этой записи по RSS или оформить подписку на все комментарии сайта. Или даже на все новые записи сайта. Не знаете, как это сделать?
  1. 2006-07-26 в 22:03:14 | phil

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

  2. 2006-07-27 в 00:57:56 | Максим

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

  3. 2006-07-27 в 01:08:03 | phil

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

  4. 2006-07-27 в 01:28:10 | Максим

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

  5. 2006-07-27 в 01:39:00 | phil

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

  6. 2006-07-27 в 10:11:10 | Максим

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

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

  7. 2006-07-27 в 19:11:54 | Sol

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

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

  8. 2006-07-27 в 22:28:57 | Максим

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

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

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

    1. Найдите функцию:

    function check_admin_referer($action = -1)

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

    $html .= &quot;\t\t<input type='hidden' name='&quot; . wp_specialchars( urldecode($k), 1 ) . &quot;' value='&quot; . wp_specialchars( urldecode($v), 1 ) . &quot;' />\n&quot;;
    

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

    $html .= &quot;\t\t<input type='hidden' name='&quot; . wp_specialchars( urldecode($k), 1 ) . &quot;' value='&quot; . wp_specialchars( stripslashes( urldecode($v)), 1 ) . &quot;' />\n&quot;;
    
  9. 2006-07-27 в 22:40:08 | Sol

    Спасибо smile

  10. 2006-12-14 в 12:30:03 | Аркадий

    День добрый! Хостинг, на котором был расположен блог переехал на другой сервер. В результате wp установленный под utf-8 стал выдавать глюки

    http://vip-rm.info

    пробовал переставить Вашу сборку на 1251, причем по совету хостеров, они дали ссылку на Ваш сайт. Ничего не получается, не апгрейд, ни инсталяция на старую базу. Есть ли выход из ситуации? Помогите советом

  11. 2006-12-14 в 12:32:46 | Аркадий

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

  12. 2006-12-14 в 13:39:59 | Максим

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

  13. 2009-02-08 в 01:25:47 | Denis

    Сделать практически полноценную (кроме нескольких системных сообщений) версию WordPress в кодировке windows-1251 просто.

    Я делал это с WordPress 2.7. Объясняю сразу utf-8 - это круто, но мне пришлось переносить старый сайт, в котором даже css-разметка корёжилась (в IE сбивались колонки), не говоря уже о контенте.

    Если Вам это нужно, изложу по шагам. Их много, но они простые.

    Логика: вначале поставим английскую версию, подготовив её к работе с windows-1251, затем переключим кодировку и, наконец, руссифицируем интерфейс.

    Шаг 1: Ставим английский WordPress

    1. Качаем английский WordPress.

    2. Распаковываем, но не начинаем установку!

    3. Заходим в папку WordPress-а.

    4. Открываем файл wp-config-sample.php.

    5. а) Под win32 заменяем строку

    define('DB_CHARSET', 'utf8');
    

    на

    define('DB_CHARSET', 'cp1251');
    

    б) Под Linux, как пишут, надо закомментировать:

    define('DB_CHARSET', 'utf8'); и
          define('DB_COLLATE', '');
    

    Однако, я полагаю, что как раз потребуется прописывать cp1251.

    7. Под mySQL вручную создаём базу,

    SQL-запрос:

    CREATE DATABASE `wordpress` CHARACTER SET cp1251 COLLATE cp1251_bin
    

    В phpMyAdnim надо при создании базы выбрать в поле «Сравнение (Collate)» - cp_1251_general_ci

    8. Теперь запускаем установку WordPress.

    Шаг 2: Переключаем кодировку

    1. По окончании установки входим в административную панель и выбираем «Settings?Reading» и в поле «Encoding for pages and feeds» пишем «windows-1251». Сохраняем изменения.

    2. Если нам перекорёжило название сайта, выбираем «Settings?General Settings» и правим поле «Blog Title».

    Готово.

    Можно работать и в английском интерфейсе, но можно и руссифицировать. Благо это совсем просто. Не пугайтесь smile.

    Шаг два с половиной: Подготовка файлов руссификации в кодировке windows-1251

    1 . Качаем обычный русский WordPress в utf-8 и программу poEdit http://www.poedit.net.

    2. Распаковываем русский WordPress во временную папку (нам понадобятся только файлы с руссификацией).

    3. Устанавливаем poEdit и открываем файл ./wp-content/languages/ru_RU.po из скачанной русской версии. Заходим в меню «Каталог?Настройки» и в строке «Кодировка» выбираем «windows-1251». Теперь сохраняем файл «Файл?Сохранить каталог», не обращая внимания на предупреждения программы.

    Шаг 3: Подключение нашей windows-1251 руссификации к WordPress

    1. В каталоге, куда мы установили английский WordPress, находим /wp-content/ и создаём там папку «languages».

    2. Копируем туда всё содержимое аналогичной папки из только что исправленной нами русской версии.

    3. Непосредственно в каталоге WordPress открываем файл wp-config.php и добавляем строку «define ('WPLANG', 'ru_RU');». Сохраняем изменения. Вот теперь всё!

    Надеюсь, что этот рецепт Вам поможет, если Вы столкнулись с проблемой, похожей на описанную вначале.

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

(обязательно)