| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 | ||
|
| Автор: Akina 16.2.2010, 12:44 |
| А ты не разбирался, как у тебя после предыдущего админа бэкапятся данные? ну-ну... В общем в хексах вырезай эти строки и скармливай разным автопреобразователям кодировок - авось какой-нить и разберётся, что там у тебя за хрень и куда её надлежит конвертировать. |
| Автор: bars80080 16.2.2010, 14:00 |
| походу предыдущий админ прокинул тебя, а сам он никогда и не смотрел, что у него творится обычно ???? образуются когда в БД загоняют данные из-под страницы cp1251, а БД думает, что latin1 (так как set names конечно никто не ставил) |
| Автор: DimanLin 16.2.2010, 14:18 | ||
hex говорит что каждый "?" это "3F", есть смысл вырезать это и вставлять в редактор с последующим определением кодировки? Вот принскрин hex http://keep4u.ru/full/b2925399ddbeda232caa7b455c7095c9.html |
| Автор: awers 16.2.2010, 14:52 |
| DimanLin, Ты вставляй в хекс эдитор не просто скопированный из файла текст, а открой дамп с помощью хекс эдитора. Так он тебе просто говорит код символа "?" |
| Автор: Akina 16.2.2010, 15:23 | ||
Да запросто... неужели ты ни разу не получал вопросики, копируя кириллицу из одного приложения в другое? |
| Автор: skyboy 16.2.2010, 16:36 |
ого. прошу прощения за категоричность. нет, не встречал. такое бы я запомнил точно. |
| Автор: Kano 17.2.2010, 01:53 |
| DimanLin, этот "дамп" уже бесполезен. |
| Автор: Zloxa 17.2.2010, 23:15 |
Хотя я вот попытался было воспроизвести и не смог сходу. :( Обычно это происходит когда копируешь кириллицу из неюникодных виндовых контролов, при том имея установленной латинскую раскладку клавиатуры, а потом копируешь в юникодный контролл. "Лечится", соответственно симптоматика снятием выделения, перводом в русскую раскладку, выделение заново и повторным ctrl+c awers, я восхищен гипотезой. Даже если она не верна, поражает ее простота при том что она точно объясняет описанные симптомы. |