Задавайте вопросы, мы ответим
Вы не зашли.
У меня такая банальная проблема.
Сервер БД MySQL на \s выдает:
Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1
На phpmyadmin
Сопоставление соединения с MySQL: utf8_general_ci
На вкладке операции с БД показывается
Сравнение: utf8_general_ci
На сайтах все прекрасно отображается (почти). Однако! В БД все данные отображаются крякозябрами. Обнаружил, что это windows-1252. Меня, конечно, это не устраивает, кроме того, уже проблемы из-за этого тоже возникали.
Хочу нормализовать эту ситуацию. Однако бэкап одной БД получается в размере около 22 МБ. Соответственно, все операции с файлом обречены на крах. Что можно сделать? iconv или чем-то еще? Может альтернативы есть? Почему так случается? Что делать в дальнейшем чтобы избежать таких ситуаций?
Буду благодарен за любую помощь.
версия сервера 5.1
Отредактированно NARKOZ (28.06.2010 02:20:14)
Неактивен
Неактивен
[iserv]$ recode utf8..latin1 test.sql recode: test.sql failed: Invalid input in step `UTF-8..ISO-8859-1'
а наоборот (latin1 -> utf8) не дает нужного результата
Как вообще можно определить кодировку?
Отредактированно NARKOZ (03.07.2010 14:47:55)
Неактивен
Я знаю два способа определить кодировку — вручную и автоматически. Определение
кодировки вручную требует или некоторого опыта, или некоторого количества экспери-
ментов. Определение автоматически, например, есть у Темы Лебедева: http://www.artlebedev.ru/tools/decoder/
Неактивен
Как писал выше
recode utf8..latin1
не сработал. Сделал
recode -f utf8..latin1
сработало на ура, однако! часть данных потеряна. Например, предложения оборваны, текст оборван. Но сама кодировка в БД OK.
декодер говорит: CP1252 > UTF-8
[iserv]$ recode cp1252..utf8 test.sql recode: test.sql failed: Ambiguous output in step `CR-LF..data' [iserv]$ recode cp1252/..utf8 test.sql recode: test.sql failed: Untranslatable input in step `CP1252..ISO-10646-UCS-2'
Здесь: http://pastie.org/1035934 - отрывок из дампа БД
Отредактированно NARKOZ (08.07.2010 17:55:02)
Неактивен