Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите декодировать дамп
 
 автор: ddhvvn   (04.06.2011 в 21:54)   письмо автору
3.7 Кб
 
 

Мне прислали дамп просто ужасной базы.
Мне нужно из него сделать базу хотя бы с нормальной кодировкой.
Сижу в Декодере пробую разные цепочки кодировок, пока не получается
Пока самая подходящая: CP1252->UTF-8
Пробовал еще KOI8-R->CP1252->UTF-8
Но теряются некоторые буквы.
Помогите разобраться, плиз.
Часть этого двухметрового дампа в аттаче

  Ответить  
 
 автор: cheops   (05.06.2011 в 08:50)   письмо автору
 
   для: ddhvvn   (04.06.2011 в 21:54)
 

Вот что попробуйте UTF8 -> CP1252 и открывайте файл в кодировке CP1252, берите содержимое его и сохраняйте в удобной для вас кодировке.

  Ответить  
 
 автор: ddhvvn   (05.06.2011 в 13:11)   письмо автору
 
   для: cheops   (05.06.2011 в 08:50)
 

Не помогает.
Если делать с помощью iconv, то он выдает "illegal input sequence at position 3340", если добавить опцию -c, то текст конвертируется также как и через декодер - с битыми буквами.

  Ответить  
 
 автор: cheops   (05.06.2011 в 14:23)   письмо автору
 
   для: ddhvvn   (05.06.2011 в 13:11)
 

А оригинальный дамп большой? Не получится его сюда забросить?

  Ответить  
 
 автор: ddhvvn   (05.06.2011 в 18:20)   письмо автору
 
   для: cheops   (05.06.2011 в 14:23)
 

Около полутора мегабайт.
Если хотите сами попробовать, то это сделать можно на прикрепленном куске дампа.
На нем то же самое происходит с некоторыми словами.

  Ответить  
 
 автор: cheops   (05.06.2011 в 19:22)   письмо автору
 
   для: ddhvvn   (05.06.2011 в 18:20)
 

Я попробовал и у меня вроде никаких аномалий нет (я почему весь дамп и попросил, подумав, что кусок слишком короткий и я не могу увидеть сбои в конечном результате)
INSERT INTO `categories` (`id`, `name1`, `name2`, `name3`) VALUES (16,'Квартиры','Pisos - 
Estudios','Apartments - Flats'),(17,'Шале','Chalets','Townhouses'),(18,'Виллы','Villas','Villas'),(19,'Земл

  Ответить  
 
 автор: ddhvvn   (05.06.2011 в 20:34)   письмо автору
 
   для: cheops   (05.06.2011 в 19:22)
 

а как/с помощью чего вы делали?
У меня
INSERT INTO `categories` (`id`, `name1`, `name2`, `name3`) VALUES (16,'Квартиры','Pisos - Estudios','Apartments - Flats'),(17,'Шале','Chalets','Townhouses'),(18,'Виллы','Villas','Villas'),(19,'Землϧ,'Terrenos - Parcelas','Land - Plots'),(21,'Коммер.нед','Locales - Oficinas','Commercials'),(22,'Отели','Hoteles','Hotels'),(23,'ѐ¾воґ‚ройк','Nueva construccion','New Constructions'),(24,'Элит.недв.','Viviendas de Lujo','Luxury Houses');


P.S.: весь дамп тут http://vlal.ru/dump.sql

  Ответить  
 
 автор: cheops   (05.06.2011 в 20:50)   письмо автору
 
   для: ddhvvn   (05.06.2011 в 20:34)
 

А нет не получается на "Земл" спотыкается. Делал так: пропустил файл через
iconv("UTF-8", "Windows-1252", $text);

потом открыл его в utf-8.

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

  Ответить  
 
 автор: ddhvvn   (05.06.2011 в 22:17)   письмо автору
 
   для: cheops   (05.06.2011 в 20:50)
 

ну вот по дампу видите какая структура и локаль базы?
если получить доступ к базе, как можно сделать дамп в адекватном виде?

  Ответить  
 
 автор: cheops   (06.06.2011 в 09:29)   письмо автору
 
   для: ddhvvn   (05.06.2011 в 22:17)
 

А истинная кодировка данных какая? В первую голову хорошо бы избавиться от latin1 в таблицах - в этом случае все проблемы пропадут автоматически.

  Ответить  
 
 автор: ddhvvn   (07.06.2011 в 13:33)   письмо автору
 
   для: cheops   (06.06.2011 в 09:29)
 

Ну на сайт выводится вроде utf-8.
А как избавиться то? Нужно же перекодировать содержимое? Или изменить в настройках таблиц?

  Ответить  
 
 автор: cheops   (07.06.2011 в 13:38)   письмо автору
 
   для: ddhvvn   (07.06.2011 в 13:33)
 

Т.е. внутри таблиц данные в UTF8 или при соединении с СУБД MySQL осуществляется запрос
SET NAMES utf-8? Здесь нужны данные именно по тому в какой кодировке хранится информация внутри таблиц. Если это UTF-8, то параметр CHARACTER SET таблиц нужно изменить на utf8 и извлекать дамп.

  Ответить  
 
 автор: ddhvvn   (07.06.2011 в 23:16)   письмо автору
 
   для: cheops   (07.06.2011 в 13:38)
 

Если бы в базе было utf-8, то я бы не мучился :)
Но при подключении "SET NAMES ..." я тоже не обнаружил, поэтому что-то вообще непонятно...

  Ответить  
 
 автор: ddhvvn   (12.06.2011 в 00:58)   письмо автору
 
   для: ddhvvn   (07.06.2011 в 23:16)
 

Вообще странно, я заметил, что повреждены только буквы я,в,с. Причем как строчные, так и заглавные.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования