201

Re: Смена кодировки базы в phpMyAdmin

Если есть такая возможность, то можно попробовать создать новый дамп выделив под большие таблицы отдельные файлы дампа.

В Linux можно использовать команду split с ключом --lines=500, где 500 - это количество строк сохраняемый в файл. Разрезать надо .sql файл.

202

Re: Смена кодировки базы в phpMyAdmin

Если нет возможности ? придётся дампе редактировать?

203 (изменено: henry, 2012-07-08 19:02:28)

Re: Смена кодировки базы в phpMyAdmin

Хмм , где-то тут ошибка

--
-- Table structure for table `dle_subscribe`
--

DROP TABLE IF EXISTS `dle_subscribe`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `dle_subscribe` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL DEFAULT '0',
  `name` varchar(40) NOT NULL DEFAULT '',
  `email` varchar(50) NOT NULL DEFAULT '',
  `news_id` int(11) NOT NULL DEFAULT '0',
  `hash` varchar(32) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `news_id` (`news_id`),
  KEY `user_id` (`user_id`)
) ENGINE=MyISAM AUTO_INCREMENT=35 DEFAULT CHARSET=cp1251;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `dle_subscribe`
--

LOCK TABLES `dle_subscribe` WRITE;

204

Re: Смена кодировки базы в phpMyAdmin

henry сказал:

Хмм , где-то тут ошибка

Нет, ошибки здесь нет. Какая версия MySQL на сервере куда вы импортируете дамп?

205 (изменено: henry, 2012-07-08 21:30:43)

Re: Смена кодировки базы в phpMyAdmin

5.1.63

206

Re: Смена кодировки базы в phpMyAdmin

henry сказал:

5.1.63

Проблем быть не должно. А сам запрос на создание таблицы dle_subscribe ошибок не выдает, если его через окно запроса выполнить? Прямо как вы сверху привели.

207

Re: Смена кодировки базы в phpMyAdmin

выполняется без ошибок. но с объёмными таблицами я не смогу такое провернуть  sad

208

Re: Смена кодировки базы в phpMyAdmin

henry сказал:

выполняется без ошибок. но с объёмными таблицами я не смогу такое провернуть

Значит ошибка не в запросе, а происходит по какой-то другой причине. Кроме разбиения и импорта дампа частями я даже не знаю что посоветовать. Можно попробовать импортировать дамп с  помощью mysqldump, или каких-то других программ.

209

Re: Смена кодировки базы в phpMyAdmin

так дамп же симпексом сделан

210

Re: Смена кодировки базы в phpMyAdmin

henry сказал:

так дамп же симпексом сделан

Я не знаю что такое симпекс.

211

Re: Смена кодировки базы в phpMyAdmin

Hanut сказал:
henry сказал:

так дамп же симпексом сделан

Я не знаю что такое симпекс.

http://sypex.net/ru/products/dumper/about

212

Re: Смена кодировки базы в phpMyAdmin

Значит импорт этим скриптом выдает ошибку или импорт в phpMyAdmin тоже?

213

Re: Смена кодировки базы в phpMyAdmin

Этим скриптом

214

Re: Смена кодировки базы в phpMyAdmin

Такая вот проблема:
нужно изменить вот эти параметры
character_set_client    utf8
character_set_connection    utf8
character_set_database    utf8
character_set_filesystem    binary
character_set_results    utf8
character_set_server    utf8
character_set_system    utf8
на cp1251
загвоздка в том, что использую бесплатный хостинг и править файлы my.ini или my.cnf не могу.
Можно как-то изменить через phpmyadmin запросами sql?
пробовал таким методом ALTER TABLE `mydatabase`.`auth_group_permissions` CONVERT TO CHARACTER SET cp1251 COLLATE cp1251_general_ci;, но ничего не получается.

215

Re: Смена кодировки базы в phpMyAdmin

djmansys сказал:

Можно как-то изменить через phpmyadmin запросами sql?

Нет, нельзя. Данные настройки можно поменять только для скрипта для чего необходимо прописать установку кодировки с MySQL. Есть вы используете скрипт форума или CMS, то в конфигурации есть возможность установить данную настройку. Если скрипт ваш, то пропишите после функции mysql_connect строку:

mysql_query('SET NAMES cp1251');

216

Re: Смена кодировки базы в phpMyAdmin

Парни спасите меня.  big_smile  При занесении данных через phpmyadmin  в Бд они попадают в виде иероглифов. В самой phpmyadmin отображаются на русском. Захожу в  командную строку mysql и не читаемо. Причем даже если в эту бд и таблицу с иероглифами добавлять данные из   командной строки то все записывается отлично. Кодировка cp 1251 в ini файле все сто раз прописал. по команде like char% тоже везде идет cp1251. Переменные и сопоставления в phpmyadmin тоже все такие же. что еще попробовать?

217

Re: Смена кодировки базы в phpMyAdmin

shetan сказал:

В самой phpmyadmin отображаются на русском.

Значит правильно заносятся.

shetan сказал:

Захожу в  командную строку mysql и не читаемо.

Командная строка Windows? Если да, то кодировка командной строки cp866. Нельзя добавлять данные в командной строке не сменив кодировку консоли.

Не используйте root, заведите отдельного пользователя MySQL выделив ему необходимые права, при этом не следует выделять права из раздела Администрирование при создании пользователя в phpMyAdmin.

Смотрите глобальные переменные.

SHOW GLOBAL VARIABLES LIKE "char%";

218 (изменено: shetan, 2012-09-15 09:09:38)

Re: Смена кодировки базы в phpMyAdmin

Глобальные переменные cp1251 . Мне кажется что то все равно не правильно. Не может быть, чтобы когда я открываю mysql консоль не отображался русский шрифт. То есть при добавлении данных в одну и ту же таблицу из консоли шрифт нормальный, а если из phpmyadmin то кривой. Причем русские буквы присутствуют. Все базы и таблицы создаются с нуля. По команде show create table .... и show create database .... везде пишет cp1251.  Юзера создавал.  Не помогает.

Или в консоли и не должен русский шрифт отображаться, при занесении данных из phpmyadmin?

219

Re: Смена кодировки базы в phpMyAdmin

shetan сказал:

То есть при добавлении данных в одну и ту же таблицу из консоли шрифт нормальный, а если из phpmyadmin то кривой.

В phpMyAdmin всегда правильная кодировка. У консоли изначально кодировка cp866. Не добавляйте данные в консоли, если не можете изменить ее кодировку.

Кодировка консоли меняется командой:

chcp 1251

220 (изменено: regman, 2013-04-02 14:44:46)

Re: Смена кодировки базы в phpMyAdmin

у меня проблема несколько иного характера, но вроде тоже с кодировками думаю проблема. База в кодировке ср1251, таблицы тоже, сборка Vertrigo последняя. Кириллицу в базу вносить отлично, в базе отображается тоже отлично, в браузер подтягивает также отлично. Но вот SELECT с базы с параметрами заданными кириллицей не выполняет, тоесть выборка равна 0, хотя данные в базе есть.

$get_address_id_query = ('SELECT * from t_address WHERE rajon_id = '.$rajon_id.' AND city = '.$city.' AND street = '.$street.' AND house = '.$house);

где данные $rajon_id, $city, $street, $house берет с массива сессий, но $city и $street - имеют кирилличные названия.

Аналогичный Селект без использование кирилличных условий - возвращает результат, а этот нет, поэтому и думаю что проблема в кодировке, тоесть в неправильной передаче данных на сервер в запросе.

Будут идеи?

Разобрался, всего-навсего нужно было взять эти условия в дополнительные двойные кавычки

221

Re: Смена кодировки базы в phpMyAdmin

Есть пшп скрипт который заносит данные  в бд
Но проблема в том что какаю кодировку не выбирай, русские символы распознавать отказывается! Выбираю cp 1251 general ci - заносит пустоту, ставлю utf8 - заносит вопросы. Ессть идеи как это исправить

222 (изменено: m88, 2017-03-02 10:14:58)

Re: Смена кодировки базы в phpMyAdmin

Добрый день! Помогите с кодировкой на сайте! Сделал дамп (могу выслать) в котором 'Россия' такие символы в категориях 1252 кодировки.

В ассес.лог прописана утф8, файл my.cnf на моем хостинге (регру) отсутствует не добраться - стандартную кодировку сервера не поменять в файле, а при изменение в админке у меня сбросилось с этого варианта:
Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir
/usr/share/percona-server/charsets/

на этот:

Variable_name Value
character_set_client latin1
character_set_connection latin1
character_set_database latin1
character_set_filesystem binary
character_set_results latin1
character_set_server latin1
character_set_system utf8
character_sets_dir
/usr/share/percona-server/charsets/

Внешний вид на сайте при этом не изменился!

Ручками когда правишь кодировку таблицы, мышкой выбирая через операции-сравнение ничего не изменяется кракозябры остаются.

Как правильно написать команду синхронизирующую эти кодировки?

Как я понял сервер сначала не мог все отправить в утф8 т.к. работает на латин1, а потом когда я вручную в админке стандартную для всей БД изменил он обнулил значения на латин1 всей базы.

223

Re: Смена кодировки базы в phpMyAdmin

m88 сказал:

Как правильно написать команду синхронизирующую эти кодировки?

Нет такой команды. Для начала сохраните все исходные данные. Затем откройте сохраненный дамп и попробуйте переконвертировать данные с помощью Notepad++. Возможно это сделать не получится, или часть букв окажется в битом виде.

Если конвертация выйдет, то смените там же в дампе кодировки сравнения на те, что используются на вашем сайте. Как я понимаю, это utf8.

224

Re: Смена кодировки базы в phpMyAdmin

Hanut сказал:
m88 сказал:

Как правильно написать команду синхронизирующую эти кодировки?

Нет такой команды. Для начала сохраните все исходные данные. Затем откройте сохраненный дамп и попробуйте переконвертировать данные с помощью Notepad++. Возможно это сделать не получится, или часть букв окажется в битом виде.

Если конвертация выйдет, то смените там же в дампе кодировки сравнения на те, что используются на вашем сайте. Как я понимаю, это utf8.

При загрузке перекодированного файла дампа выскакивает
Ошибка
SQL-запрос:

-- -- Дамп данных таблицы `actors` -- INSERT INTO `actors` (`id`, `name`, `name_orig`, `name_uri`) VALUES (1, 'Скарлетт Йоханссон', '', 'skarlett-yohansson'), (2, 'Майкл Питт', '', 'maykl-pitt'), (3, 'Майкл Уинкотт', '', 'maykl-uinkott'), (4, 'Жюльет Бинош', '', 'zhyulet-binosh'), (5, 'Йохан Филип Асбек', '', 'yohan-filip-asbek'), (6, 'Рила Фукусима', '', 'rila-fukusima'), (7, 'Такеши Китано', '', 'takeshi-kitano'), (8, 'Чин Хань', '', 'chin-han'), (9, 'Кристофер Оби', '', 'kristofer-obi'), (10, 'Адвоа Абоах', '', 'advoa-aboah'), (11, 'Адриа Архона', '', 'adria-arhona'), (12, 'Скотт Иствуд', '', 'skott-istvud'), (13, 'Чарли Дэй', '', 'charli-dey'), (14, 'Цзин Тянь', '', 'czin-tyan'), (15, 'Джон Бойега', '', 'dzhon-boyega'), (16, 'Берн Горман', '', 'bern-gorman'), (17, 'Ринко Кикути',[...]

Ответ MySQL: Документация

#1062 - Duplicate entry '1' for key 'PRIMARY'

225

Re: Смена кодировки базы в phpMyAdmin

m88 сказал:

Duplicate entry '1' for key 'PRIMARY'

Вы импортируете данные поверх существующих таблиц. Сперва удалите имеющиеся в БД таблицы с такими же именами, что и в дампе.