Версия для печати
Кракозябры в дампе MySQL или при просмотре базы через PhpMyAdmin — Решение Проблемы.
Столкнулся с данной проблемой при переносе одного форума с движка phpBB2 на phpBB3. Получилось так что после конвертации базы форум стал выдавать кракозяблы вместо русских букв. Оказалос что на старом форуме база и все таблицы были созданы в кодировке utf8_general_ci, а старый форум в них писал под кодировкой Windows-1251 (там в конфигурационном файле такие настройки были). В итоге получилась неконвертабельная база.
Вообщем возникла необходимость конвертации базы MySQL в нормальный вид с кодировкой utf8_general_ci. Решение получилось такое:
1. Берем скрипт Sypex Dumper который делает бэкап базы и одновременно меняет его кодировку на Windows-1251.
Полная инструкция по настройке скрипта для принудительной смены кодировки здесь http://sypex.net/encoding/ но нам из инструкции необходимо только вот это:
Cохранить БД с помощью нового дампера 1.0.8 (предварительно установив в dumper.php следующие значения, CHARSET = ‘auto’, RESTORE_CHARSET = ‘forced->cp1251′), желательно для подстраховки убедиться, что в дампе нормально сохранены русские символы.
2. Откройте полученный дамп в стандартном блокноте Windows (если большой размер попробуйте его открыть в wordpad или в какой нибудь другой программе) обязательно убедитесь что все надписи на русском языке читаются нормально. Выделите весь текст в редакторе и скопируйте в буфер обмена.
3. Создайте файл в Nootepad++. Установите в этом чистом файле нужную вам кодировку. В моем случае отмечено 2 пункта «Кодировать в ANSI» и «Кодировать в UTF без BOM». После выбора кодировки вставьте содержимое буфера обмена в файл.
4. Удалите лишнюю первую строку в этом файле ( Начинается с #SKD). Инструментом «поиск и замена» редактора Nootepad++ замените во всем файле «DEFAULT CHARSET=latin1″ на «DEFAULT CHARSET=utf8″.
5. Сохраните файл с преобразованным дампом.
6. Зайдите в PhpMyAdmin создайте чистую базу в кодировке utf8_general_ci и Collation utf8_general_ci.
7. Импортируйте через PhpMyAdmin в созданную базу полученный ранее дамп.
8. Откройте базу данных и просмотрите через PhpMyAdmin. В итоге всё: база данных и таблицы должны быть в одной кодировке utf8_general_ci. Все записи прекрасно читаются через PhpMyAdmin значит данные тоже в кодировке utf8.
Возможно подобная схема подойдет и для работы с другими кодировками.


![[BobrDobr.ru]](http://www.snowballblog.com/wp-content/plugins/russ-bookmarkify/bobr.png)
![[del.icio.us]](http://www.snowballblog.com/wp-content/plugins/russ-bookmarkify/delicious.png)
![[Digg]](http://www.snowballblog.com/wp-content/plugins/russ-bookmarkify/digg.png)
![[Facebook]](http://www.snowballblog.com/wp-content/plugins/russ-bookmarkify/facebook.png)
![[Google]](http://www.snowballblog.com/wp-content/plugins/russ-bookmarkify/googlebookmark.png)
![[Ma.gnolia]](http://www.snowballblog.com/wp-content/plugins/russ-bookmarkify/magnolia.png)
![[Memori]](http://www.snowballblog.com/wp-content/plugins/russ-bookmarkify/memori.png)
![[Mister Wong]](http://www.snowballblog.com/wp-content/plugins/russ-bookmarkify/misterwong.png)
![[МоёМесто]](http://www.snowballblog.com/wp-content/plugins/russ-bookmarkify/moemesto.png)
![[MySpace]](http://www.snowballblog.com/wp-content/plugins/russ-bookmarkify/myspace.png)
![[MyWeb]](http://www.snowballblog.com/wp-content/plugins/russ-bookmarkify/myweb.png)
![[Reddit]](http://www.snowballblog.com/wp-content/plugins/russ-bookmarkify/reddit.png)
![[StumbleUpon]](http://www.snowballblog.com/wp-content/plugins/russ-bookmarkify/stumbleupon.png)
![[Technorati]](http://www.snowballblog.com/wp-content/plugins/russ-bookmarkify/technorati.png)
![[Twitter]](http://www.snowballblog.com/wp-content/plugins/russ-bookmarkify/twitter.png)
![[Windows Live]](http://www.snowballblog.com/wp-content/plugins/russ-bookmarkify/windowslive.png)
![[Yahoo!]](http://www.snowballblog.com/wp-content/plugins/russ-bookmarkify/yahoo.png)
peter911 on Чт, 22nd Июл 2010 06:40
Не помогло — http://otvety.google.ru/otvety/thread?table=%2Fotvety%2Fuser%3Fuserid%3D05565832952494191689&tid=4b602f9c01cebc80
Maggi on Пт, 27th Авг 2010 00:20
Пожалуйста, разъясните мне, как в PhpMyAdmin
создать чистую базу в кодировке utf8_general_ci и Collation utf8_general_ci. Открываю PhpMyAdmin и далее по пунктам:
1) Создать новую БД — пишу здесь название моей базы
2) Рядом окно со словом сравнение — выбираю в ниспадающем меню кодировку utf8_general_ci
3) Далее окно Language — из имеющегося можно выбрать лишь Russian (ru-utf-8)
4) Далее стоит по умолчанию
MySQL-кодировка: UTF-8 Unicode (utf8)
5) Сопоставление соединения с MySQL — выбираю utf8_general_ci.
Мож. подскажите, как мне поменять кодировку UTF-8 на utf8_general_ci. Делаю сайт с японским языком и никак не могу сдвинуться.