Версия WordPress в кодировке WINDOWS-1251
На сайте выложена версия WordPress для кодировки WINDOWS-1251.
Подробнее: http://maxsite.org/wp203rus
Еще записи по теме
- Обзор WordPress 2.3 beta1
- Версии WordPress 2.0.6, 2.0.7 и 2.1
- Русская версия WordPress 2.0.5
- Wordpress 2.3 Русская версия. Lecactus Edition
- Русский WordPress 2.3.1
- WordPress 2.0.3 - полностью русская версия
- WordPress 2.0.7 (русская версия)
- Русский WordPress 2.3.1 beta, а также несколько новостей
- Русский WordPress 2.0.9
- Впечатления от WordPress 2.5 RC1
- WordPress 2.1 (русская версия для любой кодировки)
- Как обновить WordPress моей сборки
- Вышел WordPress 2.1
- Вышел WordPress 2.2
- Русский WordPress 2.2.1
Оставьте комментарий!
РЕКЛАМА Ищешь где купить двери? Кованые изделия от производителя.


Я что-то не пойму, а что принципиально меняется, что надо дистриб целый выкладывать? Разве нельзя настройками задать кодировку?
Нет, нельзя. Текст нужно выводить в "своей" кодировке.
Не, я понимаю про "свою" кодировку. Я просто имею ввиду изначально, при установке, пока текста нет, задать кодировку как 1251 - разве этого не достаточно?
Если перевод "вбит" прямо в WordPress, то для его корректного вывода нужно правильно указать кодировку.
То есть конечно можно просто указать в настройках любую другую кодировку, тогда сам перевод (например, админ-панели) будет выводиться уже некорректно.
А, я все понял, я просто забыл, что у тебя перевод уже встроен.
А чем, кстати, вызвано такое решение, это же не очень удобно, как мне кажется?
Причин несколько. Первая - файлы локализации все равно большие и это сказывается на нагрузке сервера. Вторая - какая разница как будет выполнен перевод? Либо это будет дополнительный вызов php-функций (с поиском перевода), либо это будет уже вывод встроенного значения. Очевидно, что сразу вывести текст - на порядок быстрее и проще.
Ну и кроме этого, локализация в основном касается админ-панели, то есть обычный посетитель просто не видит её, но "по-старому" она все равно загружалась при каждом вызове страниц, что совершенно бесмыссленно.
При редактировании комментариев, если там встерчаются кавычки, 'одиночные' или "двойные", они экранируются \'вот так\' или \"вот так\". При повторном редактировании "экранировка" удваивается и так далее.
В оригинальной версии и в локализации MyWordPress.ru этого нет. Хотя в целом твоя версия не в пример лучше.
Проверил, ошибка и в оригинальной версии. Оказалось, что ошибка кроется в том, что WordPress экранирует кавычки символом "\" (php-функция addslashes) текст комментариев. Если не копать глубже, то исправление этого бага заключается в исправлении файла [b]pluggable-functions.php[/b].
Можно скачать уже исправленный файл: http://maxsite.org/wp-files/pluggable-functions.zip
Или поправить ручками этот файл.
1. Найдите функцию:
function check_admin_referer($action = -1)
2. В ней строчку:
3. Замените её на:
Спасибо
День добрый! Хостинг, на котором был расположен блог переехал на другой сервер. В результате wp установленный под utf-8 стал выдавать глюки
http://vip-rm.info
пробовал переставить Вашу сборку на 1251, причем по совету хостеров, они дали ссылку на Ваш сайт. Ничего не получается, не апгрейд, ни инсталяция на старую базу. Есть ли выход из ситуации? Помогите советом
сам блог здесь http://blog.vip-rm.info не соччтите за спам
Об этой проблеме я неоднократно писал. В сборке от mywordpress.ru принудительно указывается параметр для базы данных SET NAMES UTF8. Из-за этого получается "каша": когда кодировка блога одна, а хранение базы может отличаться от той, что используется на сервере. В итоге, когда вы переносите базу или меняете кодировку происходит проблема конвертации данных. Теперь вам нужно опытным путем добавить строчки с SET в файл wp-db.php. Если у вас моя сборка, то все возможные варианты присутствуют: достаточно лишь убрать комментарии перед этимим строчками.
Сделать практически полноценную (кроме нескольких системных сообщений) версию 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-запрос:
В 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».
Готово.
Можно работать и в английском интерфейсе, но можно и руссифицировать. Благо это совсем просто. Не пугайтесь
.
Шаг два с половиной: Подготовка файлов руссификации в кодировке 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');». Сохраняем изменения. Вот теперь всё!
Надеюсь, что этот рецепт Вам поможет, если Вы столкнулись с проблемой, похожей на описанную вначале.