![]() |
|
Модераторы: skyboy |
![]()
|
|
| Drache |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 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 вначале, то получаются хотя бы кракозяблики В общем кто мне скажет где у меня сбивается здесь кодировка? Потому что мои предположения уже исчерпалиь. Если бы могла, я бы уже удушила этот мускуль с его кодировками после версии 4.1. .... |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
Drache, а чем ты вставляешь записи? какой программой?
|
|||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 21 Всего: 73 |
Ой... зря... Стандартное решение mysqldump dbname > dump.sql mysql --database=dbname < dump.sql Поверьте, все работает. -------------------- Теперь при чем :P |
|||
|
||||
| Drache |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 31.3.2006 Репутация: 1 Всего: 3 |
Ignat, у меня нет возможности юзать mysqldump.
skyboy, на пхп скрипт написала и вставляю. |
|||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 21 Всего: 73 |
Тогда так: 1. снимите дамп в 1251. 2. таблицу создайте в UTF-8 3. передзаливкой дампа - set names cp1251; 4. залейте, не перекодируя в utf -------------------- Теперь при чем :P |
|||
|
||||
| Drache |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 31.3.2006 Репутация: 1 Всего: 3 |
Ignat, ну как же так?
вообще-то у меня в БД не только символы, которые поддерживаются кодировкой cp1251. Так что они потеряются. Такой вариант не подходит. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
Drache, как отправляешь данные, как принимаешь? скрипт имеет какой-нить фейс? или ты изменила ПХП-скрипт, сохранила, запустила, изменила ... и т.д.? Дело в том, что в зависимости от схемы работы проблемы могут быть:
а) в клиентской части(например, если работать с ВЕБ-фейсом, то IE отправляет данные формы в cp1251, даже если кодировка страницы - UTF-8) б) в скриптовой части(мало ли, возможных вариантов не назову - опыт маловат, но отбрасывать возможность не стОит) в) в части конфигурации БД... Так что выкладывай полній алгоритм, будем вместе искать |
|||
|
||||
| Drache |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 31.3.2006 Репутация: 1 Всего: 3 |
исходные данные:
1. есть файл (напр. dump.sql) - кодировка utf-8 2. есть скрипт. неважно в какой он кодировке, т.к. никакие данные из него не берутся. алгоритм: 1. читаем дамп с помощью file_get_contents() 2. с помощью preg_split() разбиваем полученные данные на массив запросов. 3. проходим в массиве запросы и выполняем их (mysql_query()). все. никаких форм, вообще никакого интерфейса. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
Drache, ок. Попаду на работу - попробую проэкспериментировать. А пока выскажу вслух размышление: знаки вопроса будут, если вместо ожидаемой сервером Unicode передавать однобайтную(cp1251 или 866) кодировку, из которой сервер потом будет делать unicode простым слиянием ближайших двух байт. Вот и получается то, что потом отображается знаками вопроса.
|
|||
|
||||
| sayber |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 30.7.2006 Где: Moscow - qwerty Репутация: нет Всего: нет |
Кодировка ставится в настройка мускула.
Я тоже мучался с кодировкой. Но потом нашол в клиетне все нужные настройки. --------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber © Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 21 Всего: 73 |
Drache, можешь прикрепить пример дампа?
-------------------- Теперь при чем :P |
|||
|
||||
| Drache |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 31.3.2006 Репутация: 1 Всего: 3 |
В общем-то все кажется решилось. Оказывается моя версия phpMyAdmin почему-то вопросиками все выводила. Я попробовала скриптом считать и вывести на страницу данные и все нормально показывалось.
Так что наверно ложная тривога... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |