Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MySQL 5 и кодировка, проблемы с дампом 
V
    Опции темы
Drache
Дата 27.7.2006, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 31.3.2006

Репутация: 1
Всего: 3



from mysql 5.0.22 to mysql 5.0.18

В общем есть дамп БД. Сделала уже специально скриптом, т.к. надеяться на phpMyAdmin что-то больше не могу. В итоге файлик получается 100% в кодировке utf-8.
Все красиво пишется русскими буквочками, если просматривать в редакторе в режиме utf-8.
Далее пытаюсь запихнуть это все в другую БД (опять же с помощью скрипта, т.к. на phpMyAdmin тут уже вообще положиться никак не получается).
В начала даю запрос: set names 'utf8'. Потом беру запросы из фала-дампа и выполняю их с помощью мускуля. В итоге получаются вместо русских букв знаки вопросов. Если же выставить кодировку cp1251 вначале, то получаются хотя бы кракозяблики smile, но всеравно не то ... да и принцип такого поведения что-то не улавливаю.

В общем кто мне скажет где у меня сбивается здесь кодировка? Потому что мои предположения уже исчерпалиь. Если бы могла, я бы уже удушила этот мускуль с его кодировками после версии 4.1. .... 
 
PM MAIL   Вверх
skyboy
Дата 27.7.2006, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Drache, а чем ты вставляешь записи? какой программой? 
PM MAIL   Вверх
Ignat
Дата 27.7.2006, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 21
Всего: 73



Цитата(Drache @  27.7.2006,  14:53 Найти цитируемый пост)
set names 'utf8'

Ой... зря...

Стандартное решение
mysqldump dbname > dump.sql
mysql --database=dbname < dump.sql

Поверьте, все работает. 


--------------------
Теперь при чем :P
PM   Вверх
Drache
Дата 27.7.2006, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 31.3.2006

Репутация: 1
Всего: 3



Ignat, у меня нет возможности юзать mysqldump.

skyboy, на пхп скрипт написала и вставляю. 
PM MAIL   Вверх
Ignat
Дата 27.7.2006, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 21
Всего: 73



Цитата(Drache @  27.7.2006,  17:00 Найти цитируемый пост)
Ignat, у меня нет возможности юзать mysqldump.

Тогда так:
1. снимите дамп в 1251.
2. таблицу создайте в UTF-8
3. передзаливкой дампа - set names cp1251;
4. залейте, не перекодируя в utf
 


--------------------
Теперь при чем :P
PM   Вверх
Drache
Дата 27.7.2006, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 31.3.2006

Репутация: 1
Всего: 3



Ignat, ну как же так? smile
вообще-то у меня в БД не только символы, которые поддерживаются кодировкой cp1251. Так что они потеряются. Такой вариант не подходит. 
PM MAIL   Вверх
skyboy
Дата 28.7.2006, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Drache, как отправляешь данные, как принимаешь? скрипт имеет какой-нить фейс? или ты изменила ПХП-скрипт, сохранила, запустила, изменила ... и т.д.? Дело в том, что в зависимости от схемы работы проблемы могут быть:
а) в клиентской части(например, если работать с ВЕБ-фейсом, то IE отправляет данные формы в cp1251, даже если кодировка страницы - UTF-8)
б) в скриптовой части(мало ли, возможных вариантов не назову - опыт маловат, но отбрасывать возможность не стОит)
в) в части конфигурации БД... 
Так что выкладывай полній алгоритм, будем вместе искать smile 
PM MAIL   Вверх
Drache
Дата 28.7.2006, 01:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 31.3.2006

Репутация: 1
Всего: 3



исходные данные:
1. есть файл (напр. dump.sql) - кодировка utf-8
2. есть скрипт. неважно в какой он кодировке, т.к. никакие данные из него не берутся.

алгоритм:
1. читаем дамп с помощью file_get_contents()
2. с помощью preg_split() разбиваем полученные данные на массив запросов.
3. проходим в массиве запросы и выполняем их (mysql_query()).

все.
никаких форм, вообще никакого интерфейса. 
PM MAIL   Вверх
skyboy
Дата 28.7.2006, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Drache, ок. Попаду на работу - попробую проэкспериментировать. А пока выскажу вслух размышление: знаки вопроса будут, если вместо ожидаемой сервером Unicode передавать однобайтную(cp1251 или 866) кодировку, из которой сервер потом будет делать unicode простым слиянием ближайших двух байт. Вот и получается то, что потом отображается знаками вопроса. 
PM MAIL   Вверх
sayber
Дата 31.7.2006, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



Кодировка ставится в настройка мускула.
Я тоже мучался с кодировкой. Но потом нашол в клиетне все нужные настройки. 
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
Ignat
Дата 31.7.2006, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 21
Всего: 73



Drache, можешь прикрепить пример дампа? 


--------------------
Теперь при чем :P
PM   Вверх
Drache
Дата 31.7.2006, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 31.3.2006

Репутация: 1
Всего: 3



В общем-то все кажется решилось. Оказывается моя версия phpMyAdmin почему-то вопросиками все выводила. Я попробовала скриптом считать и вывести на страницу данные и все нормально показывалось.
Так что наверно ложная тривога... 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0512 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.