Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > В бакапе одни "????? ??? ??? ???????"


Автор: DimanLin 16.2.2010, 10:57
Народ, у меня трабл. Есть бакап с упавшего сервера. Сейчас нужно залить бакап на новый сервер. Если я открываю бакап cat backup_-1tbk.20100205.sql  | less то помино sql команд я вижу "?????" вместо текста. Я делаю так:

ket@ket-laptop:~/temp$ mysql -u root -p111 1tbk < backup_-1tbk.20100205.sql 
ERROR 1062 (23000) at line 6757: Duplicate entry '??-ru-s2' for key 'UX_B_SEARCH_CONTENT_FREQ'

phpmyadmin выдаёт туже самую ошибку.

Если через iconv я из CP1251 конверчу в UTF8 то на выходе cat backup_cp1251_in_utf8.sql теже самые вопросы вместо текста.
Если конвертить из koi8-r в utf8, тоже вместо текста вопросы.

Как снимался бакап я не знаю, но педыдущий администратор сказал, что кодировка сервервера была utf8.

Новый сервер крутится на ubuntu 9.10.

ket@ket-laptop:~/temp$ mysql --version
mysql  Ver 14.14 Distrib 5.1.37, for debian-linux-gnu (x86_64) using  EditLine wrapper

ket@ket-laptop:~/temp$ locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

Насколько я понимаю предже чем залить бакап на сервер я должен увидить нормальный текст в  бакапе. Только после этого заливать его на сервер. Где может быть касяк? Может предыдущий админ как-то нетак бакапы делал?

Автор: LSD 16.2.2010, 11:19

M
LSD
Перенесено из баз данных

Автор: Akina 16.2.2010, 12:44
А ты не разбирался, как у тебя после предыдущего админа бэкапятся данные? ну-ну...
В общем в хексах вырезай эти строки и скармливай разным автопреобразователям кодировок - авось какой-нить и разберётся, что там у тебя за хрень и куда её надлежит конвертировать.

Автор: bars80080 16.2.2010, 14:00
походу предыдущий админ прокинул тебя, а сам он никогда и не смотрел, что у него творится

обычно ???? образуются когда в БД загоняют данные из-под страницы cp1251, а БД думает, что latin1 (так как set names конечно никто не ставил)

Автор: DimanLin 16.2.2010, 14:18
Цитата(Akina @ 16.2.2010,  12:44)
А ты не разбирался, как у тебя после предыдущего админа бэкапятся данные? ну-ну...
В общем в хексах вырезай эти строки и скармливай разным автопреобразователям кодировок - авось какой-нить и разберётся, что там у тебя за хрень и куда её надлежит конвертировать.

hex говорит что каждый "?" это "3F", есть смысл вырезать это и вставлять в редактор с последующим определением кодировки?
Вот принскрин hex http://keep4u.ru/full/b2925399ddbeda232caa7b455c7095c9.html

Автор: awers 16.2.2010, 14:52
DimanLin, Ты вставляй в хекс эдитор не просто скопированный из файла текст, а открой дамп с помощью хекс эдитора. Так он тебе просто говорит код символа "?"

Автор: skyboy 16.2.2010, 15:06
Цитата(awers @  16.2.2010,  13:52 Найти цитируемый пост)
Ты вставляй в хекс эдитор не просто скопированный из файла текст

ты к тому, что какой-то текстовый редактор при копировании не копирует код очередного символа, а копирует в буфер код символа "?"? очень навряд ли.
Цитата(DimanLin @  16.2.2010,  13:18 Найти цитируемый пост)
есть смысл вырезать это и вставлять в редактор с последующим определением кодировки?

нет. надо искать другой дамп.
или пытаться "поднять" тот "упавший сервер"

Автор: Akina 16.2.2010, 15:23
Цитата(skyboy @  16.2.2010,  16:06 Найти цитируемый пост)
ты к тому, что какой-то текстовый редактор при копировании не копирует код очередного символа, а копирует в буфер код символа "?"?

Да запросто... неужели ты ни разу не получал вопросики, копируя кириллицу из одного приложения в другое?

Цитата(awers @  16.2.2010,  15:52 Найти цитируемый пост)
Ты [skipped] открой дамп с помощью хекс эдитора.

 smile 

Автор: skyboy 16.2.2010, 16:36
Цитата(Akina @  16.2.2010,  14:23 Найти цитируемый пост)
неужели ты ни разу не получал вопросики

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

Автор: Kano 17.2.2010, 01:53
DimanLin, этот "дамп" уже бесполезен.

Автор: Zloxa 17.2.2010, 23:15
Цитата(skyboy @  16.2.2010,  16:36 Найти цитируемый пост)
нет, не встречал.

smile 
Хотя я вот попытался было воспроизвести и не смог сходу. :(

Обычно это происходит когда копируешь кириллицу из неюникодных виндовых контролов, при том имея установленной латинскую раскладку клавиатуры, а потом копируешь в юникодный контролл. "Лечится", соответственно симптоматика снятием выделения, перводом в русскую раскладку, выделение заново и повторным ctrl+c

awers, я восхищен гипотезой. Даже если она не верна, поражает ее простота при том что она точно объясняет описанные симптомы. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)