Невозможно выполнить восстановление БД из дампа

Ekaterina

Новичок
Невозможно выполнить восстановление БД из дампа

Есть MySQL 5.0
Apache 2.0.5.1
php 5.2.1
При выполнении дампа - через Navicat - выдает ошибку "Unknown character set: 'cp1251' (256)"

Я читала советы по установке: тут

Но проблема в том, что у меня при просмотре поддерживаемых кодировок этой кодировки (cp1251) вообще нет в списке.

Вот запрос, которым я пользовалась: SHOW CHARACTER SET.

Сам файл в C:\Program Files\MySQL\MySQL Server 5.0\share\charsets\cp1251.xml - присутствет.

В my.ini в секции [client]:
character-sets-dir="C:/Program Files/MySQL/MySQL Server 5.0/share/charsets"

Как можно решить эту проблему? Куда копать?
 

vovanium

Новичок
учитывая что версия php 3 летней давности, думаю mysql примерно такой же, неплохо бы для начала поставить свежие версии php и mysql.
 

Ekaterina

Новичок
Просто очень срочно надо сделать работу, а если переустановка не пройдет успешно или приведет к такому же результату- может все же можно что-то еще сделать, переустановка это крайняя мера.
 

Krishna

Продался Java
В my.ini в секции [client]:
character-sets-dir="C:/Program Files/MySQL/MySQL Server 5.0/share/charsets"
А там что, в директории этой? Интересная директива, под никсами вроде нет такой? Посмотри мануал MySQL про неё. Что, если её закомментировать?
А mysqldump в дистрибутиве СУБД есть? Если да, то надо пытаться им делать, про Navicat этот ничего не знаю, обычно люди PHPMyAdmin пользуют :)

-~{}~ 14.03.10 14:38:

"жи"-"ши" пиши через "и"
 

Ekaterina

Новичок
Автор оригинала: Krishna
А там что, в директории этой? Интересная директива, под никсами вроде нет такой? Посмотри мануал MySQL про неё. Что, если её закомментировать?
Вообще-то там файлы со всеми поддерживаемыми кодировками плюс файл index.xml, в котором они все прописываются. И у меня винда.
 

Krishna

Продался Java
Ekaterina

Мне вот, лично, не понятно, что такое "файл с кодировкой" :)
И как, там есть что-то на тему cp1521?

Про mysqldump повторюсь в последний раз.
 

fixxxer

К.О.
Партнер клуба
Попробуй загрузить через клиент mysql.

mysql -uлогин -pпароль имя-базы < имя-файла
 

Krishna

Продался Java
Ой, там восстановление уже имеющегося дампа, я туплю)))
 

Ekaterina

Новичок
Мне переслали дамп в кодировке UTF-8, и все выполнилось, поля остались, конечно, в cp1251, но все же с базой можно работать.

Автор оригинала: fixxxer
Попробуй загрузить через клиент mysql.

mysql -uлогин -pпароль имя-базы < имя-файла
Извините за глупый вопрос: это надо делать из командной строки, из папки в которой расположен MySQL, я правильно понимаю?
Я обязательно это попробую, просто сейчас поджимает время.

И еще мне бы хотелось разобраться, почему MySQL не видит эту кодировку, хотя все предпосылки для этого созданы. Может быть у кого-то есть мысли?
 

Fortop

Новичок
dimagolov
Но проблема в том, что у меня при просмотре поддерживаемых кодировок этой кодировки (cp1251) вообще нет в списке.

Вот запрос, которым я пользовалась: SHOW CHARACTER SET.
Хотя не понятно, если поля в cp1251, а кодировки нет, то как вообще может работать, хоть и с SET NAMES utf8?
 

dimagolov

Новичок
Мне переслали дамп в кодировке UTF-8, и все выполнилось, поля остались, конечно, в cp1251, но все же с базой можно работать.
Автору нужно начать с того, что прочитать статью и исправить и/или перекодировать дамп так, чтобы во-первых он был в UTF-8, а во-вторых это было отражено в структуре таблиц. после этого проблем быть не должно.
 

Ekaterina

Новичок
Автор оригинала: dimagolov
Автору нужно начать с того, что прочитать статью и исправить и/или перекодировать дамп так, чтобы во-первых он был в UTF-8, а во-вторых это было отражено в структуре таблиц. после этого проблем быть не должно.
Проблема в том, что MySql не находит эту кодировку:
( при просмотре поддерживаемых кодировок этой кодировки (cp1251) вообще нет в списке через SHOW CHARACTER SET.) .

При любых манипуляциях (например, при том же запросе, SET NAMES cp1251 ) с ней он пишет : "1115 - Unknown сharacter set: 'cp1251' ".
 

dimagolov

Новичок
Ekaterina, дамп это тесктовый файл, который обрабатывать нужно в текстовом редакторе.

но если цель завести MySQL c поддержкой 1251, то нужно смотреть косяки по конфигурации, если файлы с кодировками на месте, то скорее всего подхватывается левый конфиг с левыми путями.
 

Ekaterina

Новичок
Автор оригинала: dimagolov

но если цель завести MySQL c поддержкой 1251, то нужно смотреть косяки по конфигурации, если файлы с кодировками на месте, то скорее всего подхватывается левый конфиг с левыми путями.
Как это проверить? по крайней мере когда я пыталась прописать в my.ini cp1251 по умолчанию - mysql ложился. Значит используется мой конфиг. Что еще можно сделать?

нельзя же все время перекодировать дамп, надо понять в чем источник ошибки.
 

dimagolov

Новичок
переустановить MySQL нельзя? это советовали в первом же ответе

нельзя же все время перекодировать дамп, надо понять в чем источник ошибки.
этого я вообще не понял. дамп что, регулярно приходит откуда-то и "дамп в кодировке UTF-8, и все выполнилось, поля остались, конечно, в cp1251"?
 

Ekaterina

Новичок
Автор оригинала: dimagolov
переустановить MySQL нельзя? это советовали в первом же ответе


этого я вообще не понял. дамп что, регулярно приходит откуда-то и "дамп в кодировке UTF-8, и все выполнилось, поля остались, конечно, в cp1251"?
Переустановить MySQL можно. Но я зануда и не люблю когда что-то происходит по непонятным мне причинам. Хочу эти причины выяснить, чтоб потом опять не напороться. С дампом разобрались, прекодировали. Очевидно, мне надо начать другую тему.
 
Сверху