Как переконвертировать базу?

Тема в разделе "Базы данных", создана пользователем disker, 25 мар 2011.

Модераторы: latteo
  1. disker

    disker

    Регистр.:
    28 авг 2007
    Сообщения:
    550
    Симпатии:
    58
    Здравствуйте. В общем решил переехать на другой хостинг, но обнаружил, что после импорта БД на сайте вместо нормальных символов знаки вопросов. Добавил в скрипт строки, чтобы он посылал запрос в нужной мне кодировке в базу как посоветовали на форуме используемой CMS e107 получились на выходе в новостях крякозябры. Перепробовал массу способов, что подсказали на форуме используемой CMS е107, но результат отрицательный.
    Натройки на старом хостинге:
    Сопоставление соединения с MySQL: utf8_general_ci
    MySQL-кодировка: UTF-8 Unicode (utf8)
    Все строки таблицы выставлены utf8_general_ci
    Настройки на новом хостинге аналогичные , что собственно и приводит в замешательство. Сильно не ругайте первый раз в жизни за 6 лет жизни сайта решился перенестись на другой хостинг и вот такой косяк вышел..
    Штирлиц использовать не получается - база 18 мегабайт, поэтому зависает, но если копировать строки, то текст читабельный, но с ошибками :confused:
    Пример:
    После Штирлица:
     
  2. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    ну 18mb не так и много попробуй в Notepad++ перекодировать а если еще остался доступ к старому хостингу просто слей ее Sypex Dumper и залей имже на новый
     
  3. Sergo_Sev

    Sergo_Sev Творец

    Регистр.:
    14 июн 2008
    Сообщения:
    571
    Симпатии:
    188
    Ну вы явно БД криво слили - не в той кодировке экспортировали, как выше посоветовали, нужно по новой слить. Думаю это единственное правильное решение
     
  4. disker

    disker

    Регистр.:
    28 авг 2007
    Сообщения:
    550
    Симпатии:
    58
    Эх , вот поэтому я и написал, что уже многое попробовал. Пробовал даже с Sypex Dumper делать дамп в 3-х кодировках: cp1251, latin , utf8. После этого открывал в Notepad++, минут 30 пробовал подобрать кодировку, но ни одна не подошла. А я так понимаю пока не подберешь кодировку, то смысла перекодировать в формат utf8 нет (а мне именно он нужен).

    П.с. Кстати вот тут тоже пробовал, не помогло Декодер Лебедева
    Штирлица тоже задействовал, не помог, тупо подвисает..

    П.п.с. В общем какие ещё варианты будут ?
     
  5. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    624
    Симпатии:
    1.379
    Сделайте конверт CP1252 -> UTF-8 и получите нормальную базу.
     
  6. disker

    disker

    Регистр.:
    28 авг 2007
    Сообщения:
    550
    Симпатии:
    58
    А чем лучше сделать конверт ?
    А вообще это ты называешь нормальный конверт? или ты тупо набираешь посты?

     
  7. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    624
    Симпатии:
    1.379

    Тихо-тихо, уважаемый... мы разве вместе водку пьем? Надо быть повежливей, когда человек проявил желание помочь.
    Далее, в гугл искать что такое Multibyte Charset и почему в вышеприведенном сообщении часть букв побита...
     
  8. disker

    disker

    Регистр.:
    28 авг 2007
    Сообщения:
    550
    Симпатии:
    58
    Извини, но если хочешь помочь, то если сказал "А" , то говори и "Б" :) . Я же не такой умный, чтобы догадаться всё что ты хочешь сказать. А если бы был таким, то не задавал бы тут вопросы.. ;)
     
  9. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    624
    Симпатии:
    1.379
    После коннекта к базе выполнить SET NAMES latin1; и смело экспортировать базу...
     
    disker нравится это.
  10. disker

    disker

    Регистр.:
    28 авг 2007
    Сообщения:
    550
    Симпатии:
    58
    не могу разобраться как правильно это сделать. Мой метод не сработал. А это можно как-нибудь автоматизировать, чтобы не делать для каждой строки в таблице, а сразу всё перекодировать?