Перейти к публикации

Большая проблема конвертации кодировки бд в mysql 5.0.67


Рекомендованные сообщения

Здравствуйте! Замучался со следующей проблемой - нужно переконвертировать базу данных с кодировкой utf8_bin в cp1251_general_ci. Я попробовал следующие способы:

ALTER TABLE `dle_post` CHANGE `autor`  TEXT CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL  

проходит нормально, но в итоге вместо русских символов - ?????????

нашел способ через mysqldump:

mysqldump -u user -ppassword --default-character-set=utf8 database table > table.sql 

mysql -uuser -ppassword --default-character-set=cp1251 database < table.sql [/codebox]

это вообще безрезультатно - как было в utf8 так и осталось utf8

был еще способ через mysqldump + iconv:

[codebox]mysqldump -uuser -ppassword --default-character-set=utf8 -n -K --skip-set-charset \
--skip-create-options --skip-extended-insert --compatible=mysql40 --max_allowed_packet=64K dbname > latin_dump.sql
iconv -f UTF-8 -t cp1251//TRANSLIT latin_dump.sql > utf8_dump.sql
mysql --max_allowed_packet=1M -uuser -ppassword \
--default-character-set=cp1251 database_utf8 < utf8_dump.sql

Конвертация прошла , но абракадабра вместо русского - Aeaenae?

нашел еще способ...конвертация с помощью IE

открыл дамп в utf8 сохранил в cp1251, импортировал в мускуль...тоже фигня на выходе:

&#_210;&#_222;&#_205;&#_200;&#_205;&#_195;

форум преобразует эти символы...то что лежит в базе - без подстрочий и слитно...

замучался совсем....как же сконвертировать из utf8_bin в cp1251_general_ci ?

удалите пожайлуста этот дубликат, он случайно создался....

Изменено пользователем Skald
Ссылка на сообщение
Поделиться на других сайтах

делаете дамп БД при помощи DLE, в файле бекапа потом меняете utf8_bin на cp1251_general_ci и восстанавливаете бекап. Все.

Ссылка на сообщение
Поделиться на других сайтах

Обратитесь - напишу конвертёр. Там мало просто сменить кодировку...Там нужно создать таблицы с такой же структурой, но другой кодировкой и с помощью скрипта прогонять через iconv и загонять в новую таблицу

p.s. Можно и как Владимир посоветовал.

Изменено пользователем IT-Security
Ссылка на сообщение
Поделиться на других сайтах

Сделал, как посоветовал celsoft, заменил все utf8_bin на cp1251_general_ci...при импорте(импорт идет на новый чистый дле(6.7) на этом же сервере, расположен в другой папке, использует другую бд)

получиил вывод:

Установлена кодировка соединения `cp1251`.

2009.04.19 19:07:13

Возникла ошибка!

Неправильный запрос.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '9, 'games', 'Èãðû', '

\r\n

также попробывал следующее:

mysqldump -u user-ppass --default-character-set=utf8 portal dle_post > dle_post.sql

заменил везде utf8_bin на cp1251_general_ci

заменил utf8 на cp1251

iconv -f UTF-8 -t windows-1251//TRANSLIT dle_post.sql > dle_post_conv.sql

mysql --max_allowed_packet=1M -u user -ppass --default-character-set=cp1251 newportalbase < dle_post_conv.sql

вот что в базе - Àëåêñåè÷

и нифига не работает! почему?!

Изменено пользователем Skald
Ссылка на сообщение
Поделиться на других сайтах

Skald,

А в самом файле бекака у вас все нормально, на русском языке? Если да пересохраните файл в обыкновенном ASCII формате

Ссылка на сообщение
Поделиться на других сайтах

Гхм, в самом файле бекапа на какой стадии? сразу после дампа?

Ага..сразу после дампа русские буквы уже такие - ãîðîäîê À...

хотя импортируется нормально....

Ссылка на сообщение
Поделиться на других сайтах

Skald,

кодировка значит установлена неверно у БД, стоит одна кодировка, отдает в другой, поэтому и сконвертировать вы не можете нормально.

Ссылка на сообщение
Поделиться на других сайтах

ага, уже что то проясняется :)

пхп майадмин вот что пишет -

MySQL-кодировка: UTF-8 Unicode (utf8)

Сопоставление соединения с MySQL: MySQL-кодировка: UTF-8 Unicode (utf8)

Сопоставление соединения с MySQL: Сравнение utf8_unicode_ci

а у бд, с которой хочу сдампить в cp1251_general_ci -

portal сравнение utf8_bin

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...