Кодировка в PhpMyAdmin

Discussion in 'PHP' started by Ershik, 25 Dec 2007.

  1. Ershik

    Ershik Elder - Старейшина

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    Скачал базу с сайта, весит около 20 мегов в bz2 архиве.
    Пытаюсь перенести на ТопСервер с помощью dumper.php
    Выводит кракозебру
    2007.12.24 14:43:16
    Возникла ошибка!
    Неправильный запрос.
    Duplicate entry 'инфильтративнонагноительн' for key 1 (256)
    Вытаскивает максимум 17 таблиц.
    Как я понял, это из-за проблем с кодировкой.
    Смотрю на главной странице phpmyadmin
    Кодировка в базе данных cp1251_general_ci
    Кодировка в пхпмайадмине Cyrillic (cp1251)

    Кажись, совпадает...вообщем, я не знаю в чем тут причина. :(
    То что недогоняю это понятно. А в чем именно?
     
  2. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Duplicate entry 'инфильтративнонагноительРЅ' for key 1 (256)
    Повторяющиеся вхождения для ключа 1.
    Вообщем на поле стоит признак уникальности - совпадения не допускаются или ключевое поле. Сними флаг уникальности (или ключа) в структуре таблицы. Потом импортируй данные.
     
    #2 -=lebed=-, 25 Dec 2007
    Last edited: 25 Dec 2007
  3. Ershik

    Ershik Elder - Старейшина

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    -=lebed=-
    Можно поподробнее? Мне нужно лезть в базу данных?
    Или скачать базу даннх заново, сняв этот ключ уникальности?
     
  4. [ DSU ]

    [ DSU ] Elder - Старейшина

    Joined:
    22 Oct 2007
    Messages:
    103
    Likes Received:
    96
    Reputations:
    88
    посмотри в скл файле который скачал там при создании таблицы с уникальными значениями идет доп пункт который и присваевает ей уникальность удали его и по новому в базу данные заливай.
    А годировка у тебя щас утф ты так слил данные можеш указать пхп май админу что ты заливаеш в утф.
    Ну впринципе в скл файле это должно быть указано.
     
  5. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Смотри в phpMyAdmin структуру таблицы, данные которой не импортируются... (она должна быть не полная...) Ищи ключевое поле или уникальное, измени свойства поля...
     
  6. Ershik

    Ershik Elder - Старейшина

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    Перед тем как прочитал ваше сообщение глянул в Опции SQL
    Там есть параметр: "Отключить проверку внешних ключей"
    Это может помочь?
    Какой именно дополнительный пункт?

    Code:
    --
    -- Структура таблицы `phpbb_auth_access`
    --
    
    CREATE TABLE IF NOT EXISTS `phpbb_auth_access` (
      `group_id` mediumint(8) NOT NULL default '0',
      `forum_id` smallint(5) unsigned NOT NULL default '0',
      `auth_view` tinyint(1) NOT NULL default '0',
      `auth_read` tinyint(1) NOT NULL default '0',
      `auth_post` tinyint(1) NOT NULL default '0',
      `auth_reply` tinyint(1) NOT NULL default '0',
      `auth_edit` tinyint(1) NOT NULL default '0',
      `auth_delete` tinyint(1) NOT NULL default '0',
      `auth_sticky` tinyint(1) NOT NULL default '0',
      `auth_announce` tinyint(1) NOT NULL default '0',
      `auth_vote` tinyint(1) NOT NULL default '0',
      `auth_pollcreate` tinyint(1) NOT NULL default '0',
      `auth_attachments` tinyint(1) NOT NULL default '0',
      `auth_mod` tinyint(1) NOT NULL default '0',
      [b]KEY `group_id` (`group_id`),
      KEY `forum_id` (`forum_id`)[/b]
    ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
    Хотите сказать, то что я выделил это не нужно??
     
    #6 Ershik, 25 Dec 2007
    Last edited: 25 Dec 2007
  7. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Да причём тут внешний ключ... Поле на которое он ругается, является primary key и неуникальные записи тут не возможны, более того - невозможно убрать UNIQUE с этого поля, т.к. это необратимый constraint. Ты лучше разберись с причиной... Чем делал дамп? Почему он у тебя в юникоде? Перегони в CP1251 и суй в свою базу...
     
    2 people like this.
  8. Ershik

    Ershik Elder - Старейшина

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    Дамп делал через phpmyadmin заливать пытаюсь через dumper.php
    Перегнать в Cp1251...Но у меня БД и так в CP1251
     
  9. Ershik

    Ershik Elder - Старейшина

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    Я могу таки дать базу если кому-то это пригодиться.
    Но очень нужно ее поставить на локалхост. :(
     
  10. GSM™

    GSM™ Elder - Старейшина

    Joined:
    2 Nov 2007
    Messages:
    221
    Likes Received:
    31
    Reputations:
    6
    в дампере в кодировке auto пропиши. может поможет. у меня тоже ошибка только другая пока неразобрался.
    да совсем забыл ты таблицу word удалил?
     
  11. Ershik

    Ershik Elder - Старейшина

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    Нет. Ничего не удалял. Откуда скачивал, была кодировка в utf-8
    Переносил на сервер с кодировкой cp1251
    Решилась проблема таким образом.
    Сначала залили через командную строку.
    Потом начали перекодировать с помощью iconf
    Code:
    iconf -f utf-8 -t cp1251 in.txt > out.txt