1

Тема: Экспорт с Mysql5 проблема с русским

Здравствуйте!
Версия сервера: 5.0.27-community-nt-log
Версия протокола: 10
Сервер: localhost via TCP/IP
Пользователь: root@localhost
MySQL-кодировка: UTF-8 Unicode (utf8)


Версия MySQL-клиента: 5.0.27
Использованы расширения PHP: mysql

Мне нужно экспортировать базу данных. Делал с помощью phpMyAdmin - открываб блокнотом, а у меня вместо русских букв абракадабра, тоже самое и с sqldump. Что делать? я искал на этом форуме, читал мануал по конвертированию БД. не помогло

2

Re: Экспорт с Mysql5 проблема с русским

Lexarr
В phpMyAdmin кирилица отображается нормально?

Покажите кусок дампа. Структуру одной из таблиц и пару строк кирилицы, как она выглядит.

3 (изменено: Lexarr, 2007-06-21 19:45:12)

Re: Экспорт с Mysql5 проблема с русским

-- MySQL dump 10.10
--
-- Host: localhost    Database: gaile
-- ------------------------------------------------------
-- Server version    5.0.27-community-nt-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `nuke_antiflood`
--

DROP TABLE IF EXISTS `nuke_antiflood`;
CREATE TABLE `nuke_antiflood` (
  `ip_addr` varchar(48) NOT NULL,
  `time` varchar(14) NOT NULL,
  KEY `ip_addr` (`ip_addr`),
  KEY `time` (`time`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Dumping data for table `nuke_antiflood`
--

LOCK TABLES `nuke_antiflood` WRITE;
/*!40000 ALTER TABLE `nuke_antiflood` DISABLE KEYS */;
INSERT INTO `nuke_antiflood` VALUES ('192.168.183.1','1178895306');
/*!40000 ALTER TABLE `nuke_antiflood` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `nuke_authors`
--

DROP TABLE IF EXISTS `nuke_authors`;
CREATE TABLE `nuke_authors` (
  `aid` varchar(25) NOT NULL,
  `name` varchar(50) default NULL,
  `url` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `pwd` varchar(40) default NULL,
  `counter` int(11) NOT NULL default '0',
  `radminsuper` tinyint(1) NOT NULL default '1',
  `admlanguage` varchar(30) NOT NULL,
  PRIMARY KEY  (`aid`),
  KEY `aid` (`aid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Dumping data for table `nuke_authors`
--

LOCK TABLES `nuke_authors` WRITE;
/*!40000 ALTER TABLE `nuke_authors` DISABLE KEYS */;
INSERT INTO `nuke_authors` VALUES ('admin','God','http://','alex@alex.ru','777231680cf1fbfb1f57df3a9ab43cc3',-2,1,'');
/*!40000 ALTER TABLE `nuke_authors` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `nuke_autonews`
--

DROP TABLE IF EXISTS `nuke_autonews`;
CREATE TABLE `nuke_autonews` (
  `anid` int(11) NOT NULL auto_increment,
  `catid` int(11) NOT NULL default '0',
  `aid` varchar(30) NOT NULL,
  `title` varchar(80) NOT NULL,
  `time` varchar(19) NOT NULL,
  `hometext` text NOT NULL,
  `bodytext` text NOT NULL,
  `topic` int(3) NOT NULL default '1',
  `informant` varchar(20) NOT NULL,
  `notes` text NOT NULL,
  `ihome` int(1) NOT NULL default '0',
  `alanguage` varchar(30) NOT NULL,
  `acomm` int(1) NOT NULL default '0',
  `associated` text NOT NULL,
  PRIMARY KEY  (`anid`),
  KEY `anid` (`anid`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

--
-- Dumping data for table `nuke_autonews`
--

LOCK TABLES `nuke_autonews` WRITE;
/*!40000 ALTER TABLE `nuke_autonews` DISABLE KEYS */;
INSERT INTO `nuke_autonews` VALUES (3,0,'admin','???????','2007-05-16 00:00:00','??????? 16 ???!','',2,'admin','',0,'russian',0,'');
/*!40000 ALTER TABLE `nuke_autonews` ENABLE KEYS */;
UNLOCK TABLES;

Вот конкретно:

INSERT INTO `nuke_autonews` VALUES (3,0,'admin','???????','2007-05-16 00:00:00','??????? 16 ???!','',2,'admin','',0,'russian',0,'')

4

Re: Экспорт с Mysql5 проблема с русским

Я отправлю на ваш адрес электронной почты, указанный в личных данных, скрипт, а здесь объясню как им воспользоваться для перекодировки дампа.

Очень советую запускать данный скрипт на локальной машине. Еще одна тонкость - кирилица в путях и именах файлов не допустима.

В целом, сделать необходимо следующее.
Запустите скрипт, выберите файл, который необходимо перекодировать (Input File); выберите любое желаемое имя сохраняемого, перекодированного файла (Output File); в блоке Convert Encoding, выберите From utf-8 To iso-8859-1; жмите кнопку Convert. Это черновой вариант. Проверьте вернулась ли кирилица. Попробуйте импортировать дамп выбрав при импорте кодировку cp1251.

Дальше сложнее. Я не понимаю, почему у вас кирилица хранится в таблицах с кодировкой utf8, причем ложится в latin1. Попробуйте к вышеперечисленным настройкам добавить галочку Replace Strings; нажмите Add Character Set; выберите From utf8 To cp1251; жмите Convert. Теперь попробуйте импортировать дамп выбрав кодировку cp1251.

Если не помогло, попробуйте в Add Character Set установить From utf8 To latin1. Также пробуйте импортировать дамп.