Тема: Помогите привести неправильную БД к корректному виду

Здравствуйте!
Помогите, пожалуйста, я еще новичек во всех этих делах...
Дело в том, что был создан сайт на локальной машине (сервер xampp 1.5.5 под WinXP), при переносе его на хостинг возникли проблемы с кодировкой БД. Хостер сказал, что у меня в БД спутались кодировки, их сразу несколько... Дал краткую инструкцию, как исправить. Я застрял на одном моменте: mysqldump -u username -p PASSWORD DB_NAME --allow-keywords --create-options --complete-insert --default-character-set=latin1 >db_dump.sql.. - при запуске файла "mysqldump" ничего не происходит... На одном форуме дали совет: использовать запрос SQL в Phpmyadmin: ALTER TABLE tb_name CONVERT TO CHARACTER SET cp1251. Это конечно не очень удобно, но тем не менее запрос проходит -  в phpmyadmin в "Сравнение" появляется требуемая кодировка. Но при "обзоре" таблицы в phpmyadmin, к которой применялся SQL-запрос, вместо русских букв знаки вопроса.... Пробовал также изменить сразу скопом - на вкладке "Операции" выбирал сравнение cp1251, - но не происходит ничего, кроме сообщения о том, что запрос успешно выполнен....

Подскажите пожалуйста, что я делаю не так, и как же мне все таки достичь результата...

2

Re: Помогите привести неправильную БД к корректному виду

prostouser
В xampp нет mysqldump? Странно.

Самое главное - это сохраните исходный дамп, так как любые изменения с кодировками могут уничтожить данные, что у вас и получилось при выполнении запроса ALTER TABLE tb_name CONVERT TO CHARACTER SET cp1251.

Чтобы разобраться покажите структуру любой таблицы в которой есть поля содержащие кирилицу, а также пример данных в том виде, как они выглядят в дампе.

3

Re: Помогите привести неправильную БД к корректному виду

Hanut
Структура: CREATE TABLE `jos_content` (\n  `id` int(11) unsign...

Пример данных:
??????
???? ????????????
??????? ????
???????????
??????? ????????
????????? ???????
??????????

p.s.: это пример данных из таблицы, к которой не применялось ALTER TABLE tb_name CONVERT TO CHARACTER SET cp1251. А которой применялось - там одни знаки вопроса.

А насчет mysqldump - он есть, но, почему-то, не работает...

4

Re: Помогите привести неправильную БД к корректному виду

prostouser
С данными все ясно. Покажите полную структуру таблицы. Мне надо увидеть кодировку на полях и таблице.

5

Re: Помогите привести неправильную БД к корректному виду

Hanut Имеется в виду это? :
CREATE TABLE `jos_content` (\n  `id` int(11) unsigned NOT NULL auto_increment,\n  `title` varchar(100) NOT NULL default '',\n  `title_alias` varchar(100) NOT NULL default '',\n  `introtext` mediumtext NOT NULL,\n  `fulltext` mediumtext NOT NULL,\n  `state` tinyint(3) NOT NULL default '0',\n  `sectionid` int(11) unsigned NOT NULL default '0',\n  `mask` int(11) unsigned NOT NULL default '0',\n  `catid` int(11) unsigned NOT NULL default '0',\n  `created` datetime NOT NULL default '0000-00-00 00:00:00',\n  `created_by` int(11) unsigned NOT NULL default '0',\n  `created_by_alias` varchar(100) NOT NULL default '',\n  `modified` datetime NOT NULL default '0000-00-00 00:00:00',\n  `modified_by` int(11) unsigned NOT NULL default '0',\n  `checked_out` int(11) unsigned NOT NULL default '0',\n  `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',\n  `publish_up` datetime NOT NULL default '0000-00-00 00:00:00',\n  `publish_down` datetime NOT NULL default '0000-00-00 00:00:00',\n  `images` text NOT NULL,\n  `urls` text NOT NULL,\n  `attribs` text NOT NULL,\n  `version` int(11) unsigned NOT NULL default '1',\n  `parentid` int(11) unsigned NOT NULL default '0',\n  `ordering` int(11) NOT NULL default '0',\n  `metakey` text NOT NULL,\n  `metadesc` text NOT NULL,\n  `access` int(11) unsigned NOT NULL default '0',\n  `hits` int(11) unsigned NOT NULL default '0',\n  PRIMARY KEY  (`id`),\n  KEY `idx_section` (`sectionid`),\n  KEY `idx_access` (`access`),\n  KEY `idx_checkout` (`checked_out`),\n  KEY `idx_state` (`state`),\n  KEY `idx_catid` (`catid`),\n  KEY `idx_mask` (`mask`),\n  FULLTEXT KEY `title` (`title`)\n) ENGINE=MyISAM AUTO_INCREMENT=20 DEFAULT CHARSET=cp1251

это полный текст структуры одной из таблиц.

6

Re: Помогите привести неправильную БД к корректному виду

prostouser
Ответ смотрите в ПМ.