Выравнивение кодировки в таблицах сайта
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- сержант
- Сообщения: 152
- Зарегистрирован: 2008-02-13 8:42:54
Выравнивение кодировки в таблицах сайта
Что можно сделать если таблицы в базе сайта получились в разных кодировках(некоторые таблицы в latin1 другие UTF8)
как можно сделать кодировку для всех таблиц 1251 притом чтобы отображение русских символов не постардало?
как можно сделать кодировку для всех таблиц 1251 притом чтобы отображение русских символов не постардало?
Услуги хостинговой компании 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 в другой
