Кодировка. Спасите мой мозг. [WP 2.3.1]

Собственно, это долгая и печальная история. Начало её имеется на этом форуме, желающие могут ознакомиться здесь.

Вкратце к итогу – в своё время мне удалось заставить работать без кракозябр базу из-под старой англоязычной (!) версии 2.0.4. В дальнейшем, переходя на новую версию (версии всегда были от mywordpress.ru, что вряд ли критично – без старого wp-db.php они также не работали), я просто копировал на новый скрипт старый wp-db.php. Но в последний месяц пришло время перемен – сдох мой жесткий диск с неизменным wp-db.php, а потом пока я был в командировке вырубился мой бесплатный хостинг и файлы там тоже сгинули.

Итого я имею:

  • новый хост (РНР – 5.2.4, MySQL – 4.1.22-standard)
  • бекап базы
  • воспалённый за двое суток мозг
  • большую просьбу о помощи к вам

Что я делал:

  • пробовал вносить изменения в settings.php и wp-db.php, как советуют везде
  • пробовал вносить изменения в .htaccess, как опять же советуют везде
  • прогнал конвертер базы в UTF-8 для пущей уверенности – phpMyAdmin исправно идентифицирует таблицы как закодированные в utf8_general_ci, но кажет их как кракозябры всё равно
  • включал true в конфиге максовской сборки
  • бился головой об стол и взывал к богам

Я явно не сделал чего-то ещё. Не может ведь быть такого, что база безнадёжна?

Хелп ми, а?

пришли мне на мыло дамп базы на lecactus (собака) lecactus.ru

Может у тебя в теме жестко прописана кодировка?

mikolka нет там тему у него не причем. это проблема старая. решаемая

Lecactus
спасибо за решение к сборке mywordpress.ru, но вылезла такая проблема:
рубрики, написанные кириллицей, отображаются везде вопросительными знаками, даже после того, как я их переименовываю. Помоги разобраться, плиз.

sasharp я посмотрел у вас на сайте
1 вылезает ошибка WordPress database error: [Table ‘db203152677.wp_categories’ doesn’t exist]
SELECT cat_ID, cat_name, category_parent, category_count FROM wp_categories WHERE cat_ID > 0 AND cat_ID <> 1 AND cat_ID <> 29 AND cat_ID <> 26 AND cat_ID <> 2 AND cat_ID <> 15 AND cat_ID <> 28 ORDER BY cat_ID ASC – каким плагином выводите рубрики?
2 то что в теме пишется вопросики – в дефолтной теме также?

sasharp я посмотрел у вас на сайте
1 вылезает ошибка WordPress database error: [Table 'db203152677.wp_categories' doesn't exist]
SELECT cat_ID, cat_name, category_parent, category_count FROM wp_categories WHERE cat_ID > 0 AND cat_ID <> 1 AND cat_ID <> 29 AND cat_ID <> 26 AND cat_ID <> 2 AND cat_ID <> 15 AND cat_ID <> 28 ORDER BY cat_ID ASC - каким плагином выводите рубрики?

Это был WP-dTree – динамическое построение меню, судя по сайту автора, он больше не поддерживается. В принципе, тут всё понятно, ведь этой таблицы больше не существует.

2 то что в теме пишется вопросики - в дефолтной теме также?

Да, также. Хостинг немецкий, в таблицах в некоторых случаях стоит сравнение latin1_german1_ci. Может в этом всё дело? Нужно ли во ВСЕХ случаях указывать utf8_general_ci ?

wp-dtree для wp2.3 у меня на сайте выложен давно 🙂

да дело в "сравнении" latin1_german1_ci – выставить utf8_general_ci но 99% придется ручками рубрики назвать потом заново в базе

wp-dtree для wp2.3 у меня на сайте выложен давно :)

да дело в "сравнении" latin1_german1_ci - выставить utf8_general_ci но 99% придется ручками рубрики назвать потом заново в базе

Спасибо, всё поправил. Править пришлось много, вместе с полями 😮 Респект за wp-dtree, буду настраивать.

проблему Prospero решили 🙂

1. надо было поставить оригинальный вп231
2. в вп-конфиг (от оригинального вп231) закоментировать строку define(‘DB_CHARSET’, ‘utf8’);
3. блог бы открылся почти нормально на 99%
4. поставить плагин wp-db-backup и ИЗ НЕГО сделать дамп базы
5. убить таблицы в базе
6. вернуть на место строку define(‘DB_CHARSET’, ‘utf8’);
7. залить новый дам сделанный из админки через phpmyadmin

все

после этого и сборка Maxsite тоже нормально работает

Проблема решена, спасибо огромное Lecactus.

Тоже добавлю в копилку. Может кому пригодится. Если не получается сделать корректный дамп – иногда буквы пропадают, то нужно экспортировать все записи, после установить WordPress по новому и сделать импорт записей.

Anonymous
Отправить
Ответ на: