The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
крякозябли при восстановлении из бэкапа, !*! dimau, 19-Окт-07, 17:37  [смотреть все]
freebsd 6.0 mysql 5.1, кодировка стандартная (latin1)

сделал бэкап
mysqldump xxx > backup.sql

далее когда из коммандной строки mysql делаю
\. ./backup.sql
то русский текст пропадает напроч.
Êèíîñòóäèÿ èì. À.Ï.Äîâæåíêîю...

Кто-нибудь решал данную проблему?

  • крякозябли при восстановлении из бэкапа, !*! angra, 18:14 , 19-Окт-07 (1)
    >freebsd 6.0 mysql 5.1, кодировка стандартная (latin1)

    И что вы хотели? latin1 это ни разу не кириллица.
    >Кто-нибудь решал данную проблему?

    ага, в том числе и случай смешанных кодировок и восстановления из бэкапа. Готовое решение конечно можно дать, но желательно все-таки почитать для начала разделы доки мускула относящиеся к кодировкам, да и по самому mysqldump не помешает. Если структура таблиц не меняется, а данных много, то желательно почитать про select into outfile и load data infile

    • крякозябли при восстановлении из бэкапа, !*! dimau, 18:28 , 19-Окт-07 (2)
      >>freebsd 6.0 mysql 5.1, кодировка стандартная (latin1)
      >
      >И что вы хотели? latin1 это ни разу не кириллица.
      >>Кто-нибудь решал данную проблему?
      >
      >ага, в том числе и случай смешанных кодировок и восстановления из бэкапа.
      >Готовое решение конечно можно дать, но желательно все-таки почитать для начала
      >разделы доки мускула относящиеся к кодировкам, да и по самому mysqldump
      >не помешает. Если структура таблиц не меняется, а данных много, то
      >желательно почитать про select into outfile и load data infile

      Знаю что latin1 не кириллица.

      Меня вопрос интересует ,можно ли восстановить данные, которые были испорчены такими действиями. (кодировка по-умолчанию, mysqldump > data.sql ; mysql < data.sql)

      • крякозябли при восстановлении из бэкапа, !*! angra, 19:27 , 19-Окт-07 (3)
        Ну кто же так делает, хотя бы rename table сделали или на дубликате базы экспериментировали.

        Зависит от того как данные писались в базу(set names, причем как изначально, так и в момент mysql < data.sql)  и типа полей(varchar или binary). Скорее всего вам поможет или iconv или правильно выставленные тип поля, кодировка и set names. Подбирать параметры можно либо наугад, либо логически высчитать всю последовательность перекодировок


        • крякозябли при восстановлении из бэкапа, !*! angra, 19:45 , 19-Окт-07 (4)
          для примера рассмотрим самый простой вариант. Поле varchar в latin1, \s показывает latin1 во всех позициях и именно в таком варианте данные вводились в базу и являлись просматриваемыми.  Локаль у вас однобайтная. mysqldump без лишних опций пишет в юникоде. Значит вам надо использовать "iconv -f utf8 -t latin1" на файл дампа.
          • крякозябли при восстановлении из бэкапа, !*! dimau, 12:42 , 20-Окт-07 (5)
            >для примера рассмотрим самый простой вариант. Поле varchar в latin1, \s показывает
            >latin1 во всех позициях и именно в таком варианте данные вводились
            >в базу и являлись просматриваемыми.  Локаль у вас однобайтная. mysqldump
            >без лишних опций пишет в юникоде. Значит вам надо использовать "iconv
            >-f utf8 -t latin1" на файл дампа.

            Спасибо за совет.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру