mysql дампы и кодировка

Технические вопросы по UTM 5.0
Ответить
TheUser
Сообщения: 33
Зарегистрирован: Чт мар 30, 2006 12:52

mysql дампы и кодировка

Сообщение TheUser »

Обнаружился неприятный момент. При создании дампа с базы и восстановления на другой базе кодировка портится. Установка ключей mysqldump не помогла.
Просмотр дампа показал, что таблицы находятся в koi8r, хотя сами данные не читаемы. Отсюда вопрос - как восстановить в правильной кодировке?
Найденные на форуме советы не помогли... В админке вместо русских букв псевдографика (как при просмотре Koi8r в dos).
Utm 5.2.0-1 mysql 4.1 система freebsd.
С какими ключами собиралась Mysql не помню, давно это было...

Аватара пользователя
Chrst
Сообщения: 370
Зарегистрирован: Пт май 11, 2007 09:28
Откуда: Медиахолдинг "ЛеККС"
Контактная информация:

Re: mysql дампы и кодировка

Сообщение Chrst »

TheUser писал(а):Обнаружился неприятный момент. При создании дампа с базы и восстановления на другой базе кодировка портится. Установка ключей mysqldump не помогла.
Просмотр дампа показал, что таблицы находятся в koi8r, хотя сами данные не читаемы. Отсюда вопрос - как восстановить в правильной кодировке?
Найденные на форуме советы не помогли... В админке вместо русских букв псевдографика (как при просмотре Koi8r в dos).
Utm 5.2.0-1 mysql 4.1 система freebsd.
С какими ключами собиралась Mysql не помню, давно это было...
По умолчанию Mysql может собираться с кодировкой Latin-1.

Кодировка базы UTM чаще всего бывает utf-8. При указании utf-8 все дампиться и вливается нормально.

TheUser
Сообщения: 33
Зарегистрирован: Чт мар 30, 2006 12:52

Re: mysql дампы и кодировка

Сообщение TheUser »

Chrst писал(а):
TheUser писал(а):Обнаружился неприятный момент. При создании дампа с базы и восстановления на другой базе кодировка портится. Установка ключей mysqldump не помогла.
Просмотр дампа показал, что таблицы находятся в koi8r, хотя сами данные не читаемы. Отсюда вопрос - как восстановить в правильной кодировке?
Найденные на форуме советы не помогли... В админке вместо русских букв псевдографика (как при просмотре Koi8r в dos).
Utm 5.2.0-1 mysql 4.1 система freebsd.
С какими ключами собиралась Mysql не помню, давно это было...
По умолчанию Mysql может собираться с кодировкой Latin-1.

Кодировка базы UTM чаще всего бывает utf-8. При указании utf-8 все дампиться и вливается нормально.
Не получаецо...

Аватара пользователя
Chrst
Сообщения: 370
Зарегистрирован: Пт май 11, 2007 09:28
Откуда: Медиахолдинг "ЛеККС"
Контактная информация:

Re: mysql дампы и кодировка

Сообщение Chrst »

TheUser писал(а):При создании дампа с базы и восстановления на другой базе кодировка портится.
А можно уточнение. Базы расположены на одной машине или сливается с одной и заливается на совершенно другую? Если на разные, то сопадают ли версии Mysql и их настройки. Версии конечно могут и не совпадать, а вот настройки...
Смотреть конфиги.

TheUser
Сообщения: 33
Зарегистрирован: Чт мар 30, 2006 12:52

Re: mysql дампы и кодировка

Сообщение TheUser »

Chrst писал(а):
TheUser писал(а):При создании дампа с базы и восстановления на другой базе кодировка портится.
А можно уточнение. Базы расположены на одной машине или сливается с одной и заливается на совершенно другую? Если на разные, то сопадают ли версии Mysql и их настройки. Версии конечно могут и не совпадать, а вот настройки...
Смотреть конфиги.
На разные машины. Конфигурация в my.cnf - по умолчанию на обоих. Что указывал при сборке на старой базе - не помню, скорее всего только кодировку в koi8r.
Версии mysql на обоих 4.1, отличается только последними числами (ей-богу сейчас точно сказать не могу, далеко от сервера).
Выяснил точно вот что: на новой базе в консоли mysql ставлю параметр charset_result = koi8r (точно переменную не помню опять же) и получаю в кодировке utf8.
Вот таким же образом вставить данные не получается...
Как быть? Может есть какойнить Шритлиц для Mysql :-)))) ?

adeep
Сообщения: 79
Зарегистрирован: Пт июн 24, 2005 18:59

Сообщение adeep »

1) дампите и восстанавливаете от рута или от пользователя UTM?

2) рекомендую дамп привести к нормальному виду в utf-8 (перекодировать все данные) и в создания таблиц тоже запихать utf-8
тогда проблем больше не будет.

TheUser
Сообщения: 33
Зарегистрирован: Чт мар 30, 2006 12:52

Сообщение TheUser »

adeep писал(а):1) дампите и восстанавливаете от рута или от пользователя UTM?

2) рекомендую дамп привести к нормальному виду в utf-8 (перекодировать все данные) и в создания таблиц тоже запихать utf-8
тогда проблем больше не будет.
1. От системного root'а, от Mysql-ного UTM'а :-)
2. Привести дамп ключем в mysqldump не получается. С любым параметром возвращает фигню.
А тупо mysqldump ... > iconv -f XXX -t YYY и опасно, и не все символы переводятся :-( Других вариантов не знаю... Хотя если в исходник Mysqldump при начале работы вставить set xxx_yyy_zzz=koi8r то получится :) Надо попробовать будет.

TheUser
Сообщения: 33
Зарегистрирован: Чт мар 30, 2006 12:52

Сообщение TheUser »

Рискнул - сделал через iconv. Надо было 3(!) раза вызывать его:
cat < dump | iconv -f utf8 -t koi8r | iconv -f utf8 -t koi8r | iconv -f utf8 -t koi8r
Чего же я такого сделал-то и как это раньше работал :-)
Пока что полет нормальный.

Ответить