Закорючки в базе latin1_swedish_ci

  • Автор темы Автор темы login8
  • Дата начала Дата начала

login8

Новичок
Помогите пожалуйста разобраться. Есть сайт который нужно перенести на другой хостинг. база данных на исходном хостинге в latin1_swedish_ci, если смотреть таблицу то вместо русского текста отображаются закорючки.
Хотя на сайте отображается без закорючек, текст на русском.

На новом хостинге база данных настроена так же, но текст на сайте уже в закорючках.

_____________
Тот же вопрос в картинках:


На сайте так
1308213478-clip-12kb.png


в phpMyAdmin так
1308213357-clip-15kb.png


Одна из таблиц
1308213439-clip-15kb.png


После переноса базы сайт становится вот таким
1308213315-clip-48kb.png
 
добавлю свою памятку для случаев когда нужна конвертация в utf8

Конвертировать базу в UTF8

Действие первое — сделать дамп базы с помощью утилиты «mysqldump», команда выглядит примерно вот так:
mysqldump -u user -p --default-character-set=latin1 --skip-set-charset dbname > dbname.sql

Действие второе — заменить стандартные кодировки таблиц:
sed -r 's/latin1/utf8/g' dbname.sql > dbname_utf.sql

Действие третье — воссоздать базу данных с новой дефольной кодировкой:
mysql -u user -p --execute="DROP DATABASE dbname; CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;"

Действие четвёрное — залить в базу все данные:
mysql -u user -p --default-character-set=utf8 dbname < dbname_utf.sql

Вот, собственно и всё. Правда есть ещё одна очень важная мелочь — указывать стандартную кодировку для отдачи данных для каждого нового соединения с СУБД, делается это следующим SQL запросом:
SET NAMES 'utf8' COLLATE 'utf8_general_ci'

+ может появиться ошибка
ERROR 1071 (42000) at line 5503: Specified key was too long; max key length is 1000 bytes
для этого надо отредактировать в create table создание индекса
наример `syntax`(256) -> `syntax`(70)
тут размер в символах а не в байтах
 
А где эти комманды выполнять?
Т.е. куда именно вводить их?
 
это решение для линукс
под виндовс всё тоже самое за исключением замены latin1 на utf8 во втором шаге
 
Это вы про какую-то консоль писали? А где в Windows консоль куда вводят эти команды?
Простите за невежество
 
Сверху