Вижу вопросы перехода на
UTF8 не так просты как, кажутся с первого взгляда.
Так, как же всё-таки безболезненно перевести свою базу с кодировки
1251 на
UTF8?
1. Первым делом любой занимающийся этим должен посмотреть какие Системные переменные
MySQL он имеет.
Если они имеют приблизительно такой вид, а такой вид они имеют у большинства российских хостеров, то можно смело двигаться дальше.
2. Перед тем как конвертировать базу надо сделать дамп существующей базы. Лучшим инструментом сделать дамп я считаю
Sypex Dumper
Как пользоваться
Sypex Dumper?
a) Достать файл
dumper.php из архива и положить в корень сайта, можно почитать инструкцию
readme.txt она тоже в архиве.
Имя файла dumper.php не менять, иначе работать не будет!
б) Открыть файл
dumper.php с помощью текстового редактора
Notepad++ если у вас
Windows,
BBEdit если
Mac OS X или встроенным редактором в
nix.
в) Если мы делаем это на локальной машине
localhost параметры оставляем как есть. Если сервер хостера заполняем
// mysql сервер
define('DBHOST', 'название сервера MySQL : ПОРТ на котором висит сервер');
// Базы данных, если сервер не разрешает просматривать список баз данных,
// и ничего не показывается после авторизации. Перечислите названия через запятую
define('DBNAMES', 'Ваша база');
г)Создаём в корневой папке сайта папку
backup и устанавливаем для этого каталога
CHMOD 777.
д) Запускаем скрипт
http://www.ваш_сайт.ру/dumper.php
понятное дело что сюда мы вписываем логин и пароль для подсоединения к базе данных
MySQL.
е) Попадаем сюда
и выбираем
БД: которую будем архивировать
Если дело происходит на сервере хостера не забываем установить сжатие но не
BZip2(проблемы с ним), а
GZip, дабы потом не убивать трафик загружая дамп на
ПК.
вот и всё дамп сделан и находится в корне вашего сайта в каталоге
backup
Теперь загрузим архив на свой
ПК извлечём из архива .sql файл и откроем его текстовым редактором, который советовал выше и обратим внимание на места обозначенные стрелками. Это места подтверждающие то, что дамп имеет кодовую страницу
Windows 1251.
Для перекодировки в
UTF8 достаточно просто сохранить этот файл с параметрами в
BBEdit
если ваша оп систем
Windows то
Notepad++ имеет специальную опцию в файловом меню для работы с кодировками и вы должны выбрать там перекодировать
Unicode UTF8 без BOM после чего сохранится.
Свидетельство того, что конверт успешен наличие правильных русских символов в дампе кодировка текста у меня показана стрелкой соответствует
UTF8.
Важно!
Далее по тексту дампа осуществить поиск ctrl+f Windows и nix или cmd+f для Mac Os X и заменить все вхождения CHARSET=cp1251 на CHARSET=utf8, конечно же только в тех местах где это надо!!!
После этого конвертация завершена. Конверт
вашей базы .sql надо расположить в папке
backup созданную нами ранее в корне сайта. Если это не
localhost сожмите
ваш.sql файл
gzip, чтобы не гонять трафик и положите хостеру в корень сайта в папку
backup.
3 Создадим новую базу данных с помощью
phpMyAdmin
создаём новую не трогаем старую базу!
Я создал
nikiza_utf8
Предлагаю вам файл
dumper_local_40.zip, это тот же
Damper, но преобразованый мной для работы с кодировкой
UTF8 так же там прописаны необходимые параметры. Этот файл надо скинуть в корень сайта и запустить:
http://www.ваш_сайт.ру/dumper_local.php
Имя файла dumper_local.php не менять, иначе работать не будет! Как видите ничего сверхъестественного всё тоже самое только в
UTF8.
Выбираем
Восстановление БД из резервной копии. Моя
БД: (пустая)
nikiza_utf8 выбираю, вы выбирайте свою, что создали.
Файл: - тут укажите тот файл, который вы получили при конвертации. Я выбрал свой.
Жмём Применить!
Готово!!!
Проверяем что получилось через phpMyAdmin.
Всё прекрасно парни и девчата, база в
UTF8!
Это не единственно правильное решение, но работоспособность последнего проверена на 100%, так как в момент написания текста я проделывал описанное шаг за шагом.
Thanked: 15 times
Устанавливаем Sypex Dumper 2 на ваш старый сайт, входим в него и делаем бекап вашей базы указав в нужном окошечке кодировку UTF-8, скачиваем созданный бекап на свой компьютер.
Теперь устанавлваем Sypex Dumper 2 на ваш новый сайт, не забываем закачать и созданный ранее бекап, входим в Sypex Dumper 2, импортируем вашу базу указав явно кодировку UTF-8 и поставив галочку "коррекция кодировки".
Всё.