Hostenko — лучший WordPress-хостинг

Оригинальный способ изменения кривой кодировки latin1 в ваших базах mysql на UTF8 или CP1251

Кроме манипуляций с импортом-экспортом и перекодировкой базы WordPress с помощью шаманства, существует и другой способ. Процесс долгий, но результат 100%-ый. Сегодня меня попросили перекодировать одну базу (не WordPress), которая также была когда то создана в неправильной кодировке latin1 и при переезде на новый хостинг, где в базе кодирова cp1251 (например мастерхост) и сайт превратился в кашу из мусора. Попробовав сначала рекомендации из различных форумов решил попробовать на кусочке текста во всем знакомом творении компании МС под именем Microsoft Word (использовался Word2003, но должно работать и на остальных версиях). Дело в том что в Ворде существует замечательная система восстановления поврежденного текста, которая не раз выручала при открытии файлов, созданных в древних версиях того же Ворда. Опыт над кусочком базы прошел успешно и я запустил процесс над всем файлом. Для статистики – размер базы на входе 5мб, на выходе при сохранении в Windows-1251 получилось 3,6мб. Весь процесс на компьютере P4-3200/1gb pc5300 занял более 1,5часов. Все это время Ворд был в полуподвешенном состоянии и не подавал признаков жизни кроме медленно ползущего ползунка в диалоге конвертации. После того как все будет готово, мы меняем везде где требуется упоминание о кодировке как в примере ниже:

CREATE DATABASE `kakayatobaza` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;

на cp1251

CREATE DATABASE `kakayatobaza` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci;

или utf8

CREATE DATABASE `kakayatobaza` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

проще всего это делать поиском-заменой

и сохраняем файл в соответствующей кодировке! Чтобы было все наглядно понятно, создал небольшую видеоинструкцию по применению.

смотреть в действии (всего 300кб)

Связанные записи

54 комментария

Страницы: « 1 2 [3] Show All

  1. 35 Lecactus 21 января 2009 в 0:51 (GMT+6)

    mirra, ответ: ДА.
    вот что выдал ворд:

    Отклики, обсуждения в связи с нашими вечёрками.

    :-)


  2. 36 mirra 21 января 2009 в 1:25 (GMT+6)

    ого! :)

    я перед тем как спросить пробовала как раз-таки вордом все варианты – и ничего не получилось.

    и как ворд опознал этот текст? как какую кодировку?


  3. 37 Lecactus 21 января 2009 в 1:35 (GMT+6)

    mirra, СЕРВИС-ИСПРАВИТЬ ПОВРЕЖДЕННЫЙ ТЕКСТ-РУССКИЙ(РОССИЯ) :)
    вы наверное не так делали что то – я просто скопировал ваш кусок текста и вставил в чистый документ. а если вы выбираете открытие документа то насколько помню надо выбирать либо UTF-8 либо Кирилица(вин-1251) – в общем чтобы в “примере” символы были похожие. на куске текста потренируйтесь.

    ЗЫ Или смените версию ворда :) в 2003-ей точно работает


  4. 38 mirra 21 января 2009 в 3:13 (GMT+6)

    О, спасибо!

    Целый день мучилась, а тут вон оно как! :) Все получилось.


  5. 39 Lecactus 16 февраля 2009 в 21:03 (GMT+6)

    если у вас стоит офис2007 то порядок действий немного другой для запуска команды “восстановления” – описано в этом посте http://forum.ru-board.com/topic.cgi?forum=5&topic=16945&start=720#5


  6. 40 Vagur 17 мая 2009 в 22:25 (GMT+6)

    если у вас стоит офис2007 то порядок действий немного другой для запуска команды “восстановления” – описано в этом посте http://forum.ru-board.com/topic.cgi?forum=5&topic=16945&start=720#5

    первый сайт делал в базе cp1251, сейчас после переезда на новый хостинг с php5 используется база UTF8. у меня вопрос, как из 1251 в UTF8 перекодировать?
    при все при том у меня стоит Oficce 2007.
    а то по вышеприведеной ссылке решение не нашел.


  7. 41 Lecactus 17 мая 2009 в 22:29 (GMT+6)

    Vagur, http://lecactus.ru/download/ms/eefonts.zip

    вообще если база в 1251 и вся читается в текстовом редакторе нормальном, то поиском-заменой замени везде cp1251_general_ci на utf8_general_ci и cp1251 на utf8 если есть отдельно, и сохрани файл в кодировке UTF8 без BOM и этот полученный дам уже загрузи в чистую базу, созданную также с правильным utf8_general_ci


  8. 42 Vagur 20 мая 2009 в 17:44 (GMT+6)

    Vagur, http://lecactus.ru/download/ms/eefonts.zip

    вообще если база в 1251 и вся читается в текстовом редакторе нормальном, то поиском-заменой замени везде cp1251_general_ci на utf8_general_ci и cp1251 на utf8 если есть отдельно, и сохрани файл в кодировке UTF8 без BOM и этот полученный дам уже загрузи в чистую базу, созданную также с правильным utf8_general_ci

    тоесть как читается нормально?
    я не могу русские символы прочитать – кракозябра…
    чем ее читать чтобы русские символы читались?
    NPP++ не читает!


  9. 43 Lecactus 20 мая 2009 в 18:30 (GMT+6)

    Vagur, дамп в мыло пульни


  10. 44 Виктор 7 июля 2009 в 18:46 (GMT+6)

    Всё работает на УРА! пришлось конечно скосить 2007 Ворд. Но это того стоило. Всё прошло гладко как и на видео. Большое спасибо


  11. 45 Vadim 16 июля 2009 в 17:31 (GMT+6)

    После восстановления БД на хостере часть таблицы перекатилась с utf8 в latin1_swedish_ci (в частности весь контент оказался в этой кодировке)

    Перепробовал уже все возможные методы-но результата 0

    Вообщем один большой Need Help!!!


  12. 46 Lecactus 16 июля 2009 в 20:33 (GMT+6)

    если восстанавливали автоматически то бывает так криво. вручнуб обычно нормально заливается архивный дамп (после пересохранения в нормальной кодировке)


  13. 47 Vadim 16 июля 2009 в 20:48 (GMT+6)

    если восстанавливали автоматически то бывает так криво. вручнуб обычно нормально заливается архивный дамп (после пересохранения в нормальной кодировке)

    Так дело в том что и не я восстанавливал. Восстанавливал хостер, после блокировки хостинг-аккаунта. Я так понял что при архивации у них с моей БД случилась такая “бяка”, как latin1_swedish_ci во всех “контентных” таблицах.

    В итоге мне досталось это “восстановленное чудо”, которое пока никак не хочет приводиться в читабельный вид.


  14. 48 Lecactus 16 июля 2009 в 20:52 (GMT+6)

    я про то и пишу что хостеры часто через Ж восстанавливают сами. попросите у них дамп файлом и на мыло скиньте мне


  15. 49 Vadim 16 июля 2009 в 21:27 (GMT+6)

    я про то и пишу что хостеры часто через Ж восстанавливают сами

    Ну аргументом кривого восстановления было: Суть проблемы в том, что мы имеем дело с не совсем стандартной инсталляцией WordPress. Кодировка подключения к базе не была задана в явном виде (строка определения кодировки UTF8 в конфигурационном файле закомментирована). В результате этого в базу, с описанием таблиц UTF8 клались данные в кодировке Latin1. Кроме того, некоторые таблицы базы били созданы в кодировке Latin1. Если такую комбинацию не трогать – она будет работать до первого переноса/восстановления.

    попросите у них дамп файлом и на мыло скиньте мне

    Запросил. Как вышлют-перенаправлю.


  16. 50 Заратустра 6 февраля 2010 в 19:50 (GMT+6)

    Ну парень – выручил. Огромная благодарность!


  17. 51 kotyara 24 сентября 2010 в 19:22 (GMT+6)

    5 баллов, я уж думал писец пришел. спасибо, огромное. А то прислали млин дамп… мне аш плакать захотелось: дамп в кодировке утф, на сайте выставлена кодировка 1251, а в дампе указана кодировка латин1… криворукие говноделы! какие кодировки тока не перепробовал, как ни крутил, а кроме стрекозябликов ниче ни видать. А тут раз и все гут) прям благодарность)


  18. 52 Alleon 21 декабря 2010 в 23:46 (GMT+6)

    Огромное спасибо! Очень простой и действительно рабочий способ.


  19. 53 Niczshe 16 января 2011 в 19:03 (GMT+6)

    Иван, добрый вечер. Не знаю в какой теме написать, попробую сюда. У меня тоже вылазят различные кракозябры, но это происходит лишь тогда когда я провожу анализ страниц сайта на одном сервисе. Как думаешь стоит ли мне париться по этому поводу? Просто у всех нормально там отображается, а у меня нет. Вот здесь я уже писал о моей проблеме. Заранее спасибо!


  20. 54 Александр 30 сентября 2011 в 23:45 (GMT+6)

    а у меня с присоединенными файлами проблема!.. Присоединяю, отправляю.. На почте само сообщение читаемо а attachment – нет. Набор всяких символов!! Как побороть?


Страницы: « 1 2 [3] Show All

Комментарии не по теме удаляются! Читайте реадми дистрибутива, комментарии выше и FAQ! Прежде чем задавать вопрос, прочитайте это. Научитесь ценить чужое время!

 Имя (обязательно)  EMAIL (обязательно)  АДРЕС ЛИЧНОГО БЛОГА

Вы соглашаетесь с правилами


При добавлении HTML|CSS|JS|PHP кода в комментарий, оформляйте его через кнопку КОД

 

Получать комментарии по RSS Адрес трэкбека