Проблема конвертирования latin1 -> cp1251

Тема в разделе "Базы данных", создана пользователем cbone, 29 май 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. cbone

    cbone Создатель

    Регистр.:
    25 ноя 2007
    Сообщения:
    28
    Симпатии:
    5
    Создал на своем localhost БД, оказалось что она стандартно создалась в latin 1. Сделал сайтец на Joomla, и столкнулся с проблемой при переносе на хостинг. Экспортирую через phpMyAdmin, просматриваю, русские поля таблицы кракозяблики, а комментарии нормальные. Сделав дамп через dumper.php, вроде он нормально определил кодировку, и нормально слил дамп. Тупо импортировать обратно через dumper.php на хостинг не вкатило, видимо хостер не хочет работать с latin1. Пробовал конвертировать дамп по схеме, описаной здесь: _http://wiki.iblink.ru/sources/db/mysqlcharsetconversion. В ответ получил знаки вопроса вместо русских символов. В общем не знаю что дальше делать. Как можно переконвертировать latin1->cp1251.
     
  2. xaver

    xaver Постоялец

    Регистр.:
    3 май 2008
    Сообщения:
    123
    Симпатии:
    30
    делаем дамп БД

    mysqldump -h localhost -u dev -p --default-character-set=latin1 database > database.sql

    потом юзаем iconv

    iconv -f latin1 -t cp1251 database.sql > database.cp1251

    если ругнется то добавьте ключ -с

    iconv -c -f latin1 -t cp1251 database.sql > database.cp1251

    теперь надо поменять в дампе строчки

    sed 's/SET NAMES latin1/SET NAMES cp1251/g' < database.cp1251 > fixed.database.cp1251
    sed 's/DEFAULT CHARSET=latin1/DEFAULT CHARSET=cp1251/g' < database.cp1251 > fixed.database.cp1251

    затем восстанавливаем базу

    mysql -u dev -p --default-character-set=cp1251 database < ./fixed.database.cp1251

    если поможет то гуд )
     
  3. General Fizz

    General Fizz Боевой Генерал :)

    Регистр.:
    11 апр 2007
    Сообщения:
    753
    Симпатии:
    396
    Если проблема только в конвертации из одной кодировки в другую, то юзай программу TextPipe Pro, она есть на форуме. Она перекодирует из (почти) откуда угодно в (почти) куда угодно.

    Для начала лучше взять небольшой кусок текста и проверить, если все ок, то запускать на всю базу.
     
  4. falconcy

    falconcy Прохожие

    можно и на пхп накорябать, там есть встроенный iconv
     
  5. x@nder

    x@nder Постоялец

    Регистр.:
    3 апр 2007
    Сообщения:
    128
    Симпатии:
    5
    А может пока не поздно, уйти от хостера который не дает юзать кодировку latin1?
     
  6. kuzmich111

    kuzmich111 Постоялец

    Регистр.:
    10 апр 2008
    Сообщения:
    146
    Симпатии:
    19
    В данном случае неуместно гнать на хостера. Читайте мессадж топикстартера.
     
Статус темы:
Закрыта.