|
|
|
Такая ситуевина
Есть у меня русскоязычный блог на ВП, прикрутил к нему недавно форум BBpress, все хорошо люди на форуме начинают понемногу общаться, но вот стал ложать хостинг, решил его сменить. Делаю дамп базы, там то что касается самого ВП все гуд, а вот то что касается форума хрен пойми в какой кодировки, в дампе вижу такое
Код: |
После кесарева РїСЂРѕС?ло 5месяцев, Р° РЅР° теле 7РєРі лиС?РЅРёС…. После 2 месяцев РІ
|
на самом форуме все нормально по-русски отображается
подскажите есть ли способы что бы в дампе были нормальные русские буквы? |
|
|
|
|
|
а чем дамп смотришь?
это утф-8, если есть возможность во вьювере переключиться на утф-8, то переключись
кстати неплохой скриптец для бэкапов БД (MySQL): http://sypex.net/ |
|
|
|
|
|
Зачем тебе видеть что в дампе. Он там разберёться сам кодировка то выставлена! |
|
|
|
|
|
densa, Мускул 4-ый установлен? У него есть некоторые "закидоны" с кодировками.
Цитата: |
Обратите внимание!
MySQL 5 имеет некоторые несовместимости с предыдущими версиями, полный список несовместимостей вы найдете здесь.
Проблемы с кодировками
Основная проблема, с которой сталкиваются пользователи при переходе с версий до 4.1 — проблема с кодировками. Причина данной проблемы в том, что MySQL 5 хранит все данные в кодировке UTF-8. Установленный у нас MySQL настроен так, чтобы при операциях ввода/вывода автоматически конвертировать данные из UTF-8 в Windows-1251 и обратно. Однако в некоторых ситуациях (например, если вы передаете в базу данные в кодировке KOI8-R или UTF- данные могут загружаться ошибочно или не загружаться совсем (на запрос вместо символов будут выдаваться знаки вопроса).
Возможны два варианта:
Клиент использует неправильную кодировку
Симптомы следующие:
а) В phpMyAdmin (версии 2.6.0 или выше) содержимое таблиц отображается корректно, а в скрипт приходят вопросительные знаки.
б) Скрипт отправляет в базу данных заведомо русский текст, после чего на запросы к базе как в скрипт, так и в phpMyAdmin возвращаются знаки вопроса.
Решение:
Попробуйте в начале скрипта, сразу после инициализации соединения с базой данных, выполнить SQL-команду:
SET NAMES кодировка
Где «кодировка» — та кодировка, в которой у вас (по вашему мнению) данные. Это может быть, например, cp1251, koi8r, utf8 и другие.
Если буквы стали русскими — данные в базе находятся в правильной кодировке. Если буквы стали русскими, но слова не читаются (например, вместо слова «вопрос» возвращается слово «бнопня») — надо попробовать другую кодировку.
MySQL использует неправильную кодировку
Симптомы следующие:
Скрипт получает русский текст, но не работают функции сортировки, перевода в верхний/нижний регистр и т.п. Обычно это сопровождается неправильным отображением данных в phpMyAdmin.
Диагностика:
Необходимо попробовать выполнить в phpMyAdmin следующий запрос:
SELECT CONVERT(CONVERT(поле USING binary)
USING кодировка) FROM таблица;
Где «таблица», «поле» — соответственно таблица и ее поле, в котором хранится русский текст, «кодировка» — предполагаемая правильная кодировка. Если данные в результате запроса стали отображаться правильно — необходимо конвертировать таблицу.
Решение:
Обязательно сделайте полный backup вашей базы данных, прежде чем выполнять конвертирование таблиц!
Конвертирование полей происходит следующим образом:
Например, есть таблица T со столбцом R, тип которого CHAR (50). Необходимо конвертировать содержимое данного столбца в кодировку cp1251. Выполняем следующие две команды:
ALTER TABLE T MODIFY R BINARY (50);
ALTER TABLE T MODIFY R CHAR (50) CHARACTER SET cp1251;
Обратите внимание, что после BINARY в скобках указан размер поля. Если вы конвертируете поле типа TEXT, необходимо указать достаточно большое значение. В противном случае текст будет обрезан.
|
|
|
|
|
|
|
классная програмка справилась на все 100, спасибо |
|
|
|
|
|
|
|