Что можно сделать если таблицы в базе сайта получились в разных кодировках(некоторые таблицы в latin1 другие UTF8)
как можно сделать кодировку для всех таблиц 1251 притом чтобы отображение русских символов не постардало?
Выравнивение кодировки в таблицах сайта
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- BlackCat
- прапорщик
- Сообщения: 469
- Зарегистрирован: 2007-10-16 22:40:42
Re: Выравнивение кодировки в таблицах сайта
Решение "в лоб":
1. сделать читаемый дамп таблиц
2. пересоздать таблицы с правильными кодировками
3. импортировать дамп, с учетом кодировки файла-дампа
Может есть и более простые решения.
1. сделать читаемый дамп таблиц
2. пересоздать таблицы с правильными кодировками
3. импортировать дамп, с учетом кодировки файла-дампа
Может есть и более простые решения.
-
- сержант
- Сообщения: 152
- Зарегистрирован: 2008-02-13 8:42:54
Re: Выравнивение кодировки в таблицах сайта
подробней можно?BlackCat писал(а):Решение "в лоб":
1. сделать читаемый дамп таблиц
2. пересоздать таблицы с правильными кодировками
3. импортировать дамп, с учетом кодировки файла-дампа
Может есть и более простые решения.
- BlackCat
- прапорщик
- Сообщения: 469
- Зарегистрирован: 2007-10-16 22:40:42
Re: Выравнивение кодировки в таблицах сайта
Прежде чем пользоваться данным решением, ответьте утвердительно на следующие вопросы:
1. Данные еще возможно читать из базы? (т.е. сохранился осмысленный текст, а не сплошиные символы вопросов)
2. Таблиц не так уж и много, что бы вручную пошаманить с каждой?
Общий смысл в следующем:
1. достать все данные из БД в обычный текстовый файл,
2. перестроить структуру БД, указав нужную кодировку таблиц,
3. запхнуть данные назад в БД.
Если все нормально, то переходим к "выравниванию кодировок".
1. Делаем дамп таблиц с кодировкой UTF8 в один файл, с кодировкой latin1 в другой. Дамп делаем с помощью PHPMyAdmin или mysqldump'ом. Необходимо проследить за тем, что бы данные в файлах возможно было прочитать, т.е. указываем правильную кодировку.
2. Пересоздаем таблицы или изменяем кодировку существующих таблиц.
3. При импорте данных из файлов с помощью того же PHPMyAdmin указать правильную кодировку файлов.
А лучше всего почитать статью zg, о работе с кодировками MySQL.
Правильно проделав все вышесказаное вы получите БД в которой данные обрабатываются в cp1251, останется только убедиться что движек сайта нормально забирает данные из БД.
1. Данные еще возможно читать из базы? (т.е. сохранился осмысленный текст, а не сплошиные символы вопросов)
2. Таблиц не так уж и много, что бы вручную пошаманить с каждой?
Общий смысл в следующем:
1. достать все данные из БД в обычный текстовый файл,
2. перестроить структуру БД, указав нужную кодировку таблиц,
3. запхнуть данные назад в БД.
Если все нормально, то переходим к "выравниванию кодировок".
1. Делаем дамп таблиц с кодировкой UTF8 в один файл, с кодировкой latin1 в другой. Дамп делаем с помощью PHPMyAdmin или mysqldump'ом. Необходимо проследить за тем, что бы данные в файлах возможно было прочитать, т.е. указываем правильную кодировку.
2. Пересоздаем таблицы или изменяем кодировку существующих таблиц.
3. При импорте данных из файлов с помощью того же PHPMyAdmin указать правильную кодировку файлов.
А лучше всего почитать статью zg, о работе с кодировками MySQL.
Правильно проделав все вышесказаное вы получите БД в которой данные обрабатываются в cp1251, останется только убедиться что движек сайта нормально забирает данные из БД.
-
- сержант
- Сообщения: 152
- Зарегистрирован: 2008-02-13 8:42:54
Re: Выравнивение кодировки в таблицах сайта
1. данные читаемы т.к. сайт рабочий, токо находится на вдс и не правильно настроенном mysqlBlackCat писал(а):Прежде чем пользоваться данным решением, ответьте утвердительно на следующие вопросы:
1. Данные еще возможно читать из базы? (т.е. сохранился осмысленный текст, а не сплошиные символы вопросов)
2. Таблиц не так уж и много, что бы вручную пошаманить с каждой?
Общий смысл в следующем:
1. достать все данные из БД в обычный текстовый файл,
2. перестроить структуру БД, указав нужную кодировку таблиц,
3. запхнуть данные назад в БД.
Если все нормально, то переходим к "выравниванию кодировок".
1. Делаем дамп таблиц с кодировкой UTF8 в один файл, с кодировкой latin1 в другой. Дамп делаем с помощью PHPMyAdmin или mysqldump'ом. Необходимо проследить за тем, что бы данные в файлах возможно было прочитать, т.е. указываем правильную кодировку.
2. Пересоздаем таблицы или изменяем кодировку существующих таблиц.
3. При импорте данных из файлов с помощью того же PHPMyAdmin указать правильную кодировку файлов.
А лучше всего почитать статью zg, о работе с кодировками MySQL.
Правильно проделав все вышесказаное вы получите БД в которой данные обрабатываются в cp1251, останется только убедиться что движек сайта нормально забирает данные из БД.
2. сайт - это форум Vbulletin
-
- ст. сержант
- Сообщения: 344
- Зарегистрирован: 2008-09-17 2:23:21
Re: Выравнивение кодировки в таблицах сайта
кодировка latin1 не содержит кириллических символов. так что если туда уже пытались что-то кириллическое положить - эти данные наверно больше не достать. хотя я могу быть не прав.Sanyh писал(а):Что можно сделать если таблицы в базе сайта получились в разных кодировках(некоторые таблицы в latin1 другие UTF8)
как можно сделать кодировку для всех таблиц 1251 притом чтобы отображение русских символов не постардало?
указать в этих таблицах их правильную кодировку, и клиентом коннекится с нужной кодировкой для вывода - 1251.
это если нет запросов, затрагивающих таблицы с разными кодировками.
ну а по-хорошему, привести к одному виду. в данном случае к 1251.
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: Выравнивение кодировки в таблицах сайта
в принципе это без разницы, если указана кодировка на соединение.Sanyh писал(а): в базе сайта получились в разных кодировках(некоторые таблицы в latin1 другие UTF8)
выставить кодировку UTF-8, сделать дамп, убрать любые упоминания об кодировках, импортировать в UTF-8, при каждом соединение выставлять кодировку cp1251. Вся информация будет храниться в UTF-8, но клиент будет получать cp1251.Sanyh писал(а):как можно сделать кодировку для всех таблиц 1251 притом чтобы отображение русских символов не постардало?
прав, все кирилистические символы заменятся на вопросыMAK писал(а): хотя я могу быть не прав.
гм.. вроде как, если выставить UTF8, этого можно не делать, хотя не пробовалBlackCat писал(а):1. Делаем дамп таблиц с кодировкой UTF8 в один файл, с кодировкой latin1 в другой
