Я таки перехал, и перевез свои …надцать wp сайтов на новый хостинг. Стоило это немалой крови и нервов потраченных на поиск самого безболезненного пути сконвертировать базы из кракозябр latin1 в нормально читаемый utf8.
Можете меня спросить — «а какого ты держал базы в latin1?» и я отвечу нецензурно, ибо до позавчерашнего дня был уверен что у меня все в utf8. Но нет в жизни «щастя», и мои сборки wp21, не содержали указания на чарсет и тип сравнения, что вообщето не мешало нормально показывать русские буковки, хоть и мешало нормальной сортировке и поиску.
Так что если у вас в wp-config.php нет этих строк: define(’DB_CHARSET’,'utf8′); define(’DB_COLLATE’,'utf8_general_ci’); вы попали. А когда в дампе базы, вместо русского текста видите нечто такое - Прогà - знайте, сейчас вам будет очень весело…
Если кроме дампа на руках ничего нет, то нужно любым способом залить дамп на новый сервер в такой же кодировке что и на старом. А если есть доступ к старому сайту, то делаем следующее:
ALTER TABLE table CHANGE field field BLOB;
ALTER TABLE table CHANGE field field TEXT CHARACTER SET utf8;LTER TABLE table DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;Сакральный смысл этих танцев с бубном в том что пре переводе текстового поля в блоб и обратно, но в другой чарсет — получается правильная конвертация. Если любите нетрадиционный секс, попробуйте сразу сменить чарсет, без перевода в блоб, секс гарантирован
Пункт 5 необязателен к исполнению, мы все равно потом меняем latin1 на utf8, но так всетаки спокойнее.
Если вам нужно чтобы после конвертации работал и старый сайт, добавьте define('DB_CHARSET','utf8'); define('DB_COLLATE','utf8_general_ci'); в wp-config.php, или вместо текста на сайте будут одни знаки вопроса.
Удачного вам переезда. Мой продлился всего три дня, и я (кажется) ничего из данных не потерял ![]()
bug
12|Июн|2008 1>>перечитайте пункт 2 еще раз
у меня получился бесконечный цикл от постоянных перечитываний пункта 2 и завис мозг. Зачем ты подвесил мой мозг?
Когда поймешь разницу между “перечитайте” и “повторите” на тебя сойдет нирвана
Если поле с перечислимым типом, да еще заведомо не содержит русского текста - то его обрабатывать не надо!
bug
13|Июн|2008 3О Мастер Конфуций, так это был скрытый коан!
Впредь буду внимателен к статьям, а теперь можешь лупануть меня палкой за неверный ответ, мож я грохнусь в нирвану ![]()
“Мало мозгов - много проблем”, - сказал Шри Япутра.
Ученики засмеялись.
“Много мозгов - много проблем”, - сказал Шри Япутра.
Ученики задумались.
“Нет мозгов - нет проблем”, - закрыл тему Учитель.
bug
14|Июн|2008 5Япутра - я б с такой фамилии ржал, чтоб он ни говорил ![]()
Тогда гугли на “дао-какао” и ржи ![]()
Izhic
02|Авг|2008 7Ребят привет. Дело в следующем 65 строк сделал в ‘utf8_general_ci’. Теперь MySql Query Browser отображает в html правильно, а когда в PHP делаю выдаёт туеву кучу вопросов(?????). Подскажите, пожалуйста в чём проблема. (Да в UTF8 в браузере Я переделал:))
Проблема, как всегда, в отсутствии взаимопонимания. Я, например, вообще не понял что ты делаешь и в чем проблема.
Izhic
03|Авг|2008 9Ребят спасибо , разобрался нужен был просто:
mysql_query(”SET NAMES ‘utf8′”);
Теперь всё прекрасно работает
а такую кашу можно восстановить ??????? ?? ?????????. ??? ??????? ?????? .
Админы хостинга постарались переносами ![]()
Nadejda - не знаю, смотреть надо что там в базе