За последние 24 часа нас посетили 16657 программистов и 1650 роботов. Сейчас ищут 2068 программистов ...

Инструмент, для декодирования резервной копии БД

Тема в разделе "MySQL", создана пользователем TeslaFeo, 21 ноя 2016.

  1. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    Приветствую вас, уважаемые форумчане.

    Необходим инструмент, в который я мог бы загнать огромный (более 10 000 строк) текстовый фрагмент и указать кодировку, в которую нужно декодировать этот текст.

    Прошу посоветовать программу которая не зависнет, если такие существуют. :)

    Заранее благодарю...
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    iconv на гигабайтах не поперхнется
    Код (Text):
    1. iconv -f windows-1251 -t utf-8 file.txt > newfile.txt
    это из windows-1251 в utf-8.
     
    artoodetoo, denis01 и topas нравится это.
  3. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    Прошу прощения за то, что не до конца описал свою проблему. Голова уставшая.

    Дело в том что у меня есть файл SQL. В нём некорректно отображаются кириллические символы. Благодаря онлайн декодерам удалось узнать изначальную кодировку кириллического текста. Теперь нужно проделать то же самое, только не с маленьким кусочком текста, а с огромным файлом.

    Я хочу сначала превратить крокозяблики в нормальный текст, а потом уже его переводить в utf-8.
     
  4. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Крокозябры отображаются не в файле, а в редакторе, в котором надо всего лишь переключить кодировку.
     
  5. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    Пробовал все кириллические кодировки которые есть в NotePad++. Онлайн декодер показал кодировку которой нет в нодпаде. ISO 8859-1
     
  6. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Код (Text):
    1. iconv -f ISO-8859-1 -t UTF-8 file.txt > newfile.txt
    но кириллица это скорее всего 8859-5
    Код (Text):
    1. iconv -f ISO-8859-5 -t UTF-8 file.txt > newfile.txt
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Если не совпадала кодировка подключения и бд, то кракозябры там самые настоящие.
     
    Fell-x27 нравится это.
  8. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @igordata в этой ситуации субд работает как iconv, т.е. если переключить кодировку в браузере то увидишь все верно, только вот статика превратится в крокозябры.
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Да, я имел в виду, что возможно все "правильно" отображается :D
     
  10. zahermaher

    zahermaher Новичок

    С нами с:
    27 сен 2014
    Сообщения:
    169
    Симпатии:
    14
    Есть хорошая программа sypex dumper, с помощью нее можно импортировать и экспортировать БД в нужной кодировке.
     
    TeslaFeo и denis01 нравится это.
  11. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
  12. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    справился и чудесно. но если бы ты освоил консольный mysql, ты бы поднялся на уровень выше. можно даже не конвертировать ничего, надо указать с какой кодировкой работаешь, остальное мускуль сам сделает.

    Код (Text):
    1. $ mysql -u username -p
    2. Enter password:
    3.  
    4. mysql[(none)]> use mydatabase;
    5. mysql[mydatabase]> set names 'latin1';
    6. mysql[mydatabase]> source myhugefile.sql;
    или
    Код (Text):
    1. $ mysql -u username -p mydatabase --default-character-set=latin1 < myhugefile.sql
    2. Enter password:
    --- Добавлено ---
    P.S. 8859-1, latin1 и CP1252 это вроде одно и то же, только в разных контекстах приняты разные имена. для мускуля принято писать 'latin1'
     
    TeslaFeo и [vs] нравится это.
  13. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    @artoodetoo Когда я написал, что изначальная кодировка 8859-1 - я ошибася думая так. На самом деле изначальная кодировка cp1251, которая была переведена в 8859-1 из-за чего и были крокозяблики.

    А за совет спасибо :)
     
  14. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    да пожалуйста. есть кнопка лайк :)
    --- Добавлено ---
    если что, поменяй слово 'latin1' на 'cp1251' :)
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    следи за тем, чтобы совпадала кодировка подключения, хранения, пхп вывода, и браузер правильно это всё интерпретировал. Проще говоря, юзай только utf-8.