X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Кракозябры в БД
mobilnikplus
mobilnikplus
Topic Starter сообщение 15.5.2016, 22:35; Ответить: mobilnikplus
Сообщение #1


Завсегдатай
*****

Группа: Active User
Сообщений: 773
Регистрация: 21.9.2010
Из: Украина
Поблагодарили: 140 раз
Репутация:   10  


Проблема не новая, поэтому надеюсь на советы тех, кто на этом уже собаку съел. :)

В общем, есть сайт на utf8, база сайта на cp1251. После переезда на новый хостинг на сайте появились нечитаемые символы. Понятно, что БД нужно перекодировать на utf8, но оказалось, что все тексты в базе на русском языке отображаются кракозябрами.

Как эти кракозябры перевести в нормальный человеческий текст? Желательно, естественно автоматически и быстро, потому что руками - не вариант (база большая).
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
rom_4
rom_4
сообщение 15.5.2016, 22:53; Ответить: rom_4
Сообщение #2


трафа много не бывает
******

Группа: Active User
Сообщений: 1444
Регистрация: 9.7.2010
Из: Россия
Поблагодарили: 551 раз
Репутация:   62  


mobilnikplus, было такое, часть базы в utf8 другая часть в cp1251, я вылечил установкой sxd dumper https://sypex.net/ к себе на сайт. Через эту прогу прогнал базу с принудительным сохранением в utf8, и на выходе все таблицы в одной кодировке


--------------------
Зарабатываю тут, тут и тут


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Drupal_way
Drupal_way
сообщение 16.5.2016, 0:41; Ответить: Drupal_way
Сообщение #3


Бывалый
****

Группа: User
Сообщений: 410
Регистрация: 17.12.2011
Из: Ростов-на-Дону
Поблагодарили: 73 раза
Репутация:   6  


Выполняется запроc через phpmyadmin например
Код
SELECT CONCAT(  'ALTER TABLE `', t.`TABLE_SCHEMA` ,  '`.`', t.`TABLE_NAME` ,  '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;' ) AS sqlcode
FROM  `information_schema`.`TABLES` t
WHERE 1
AND t.`TABLE_SCHEMA` =  'Имя БД'
ORDER BY 1
LIMIT 0 , 90


--------------------


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
profican
profican
сообщение 16.5.2016, 5:06; Ответить: profican
Сообщение #4


Старожил
******

Группа: Active User
Сообщений: 1242
Регистрация: 30.6.2010
Поблагодарили: 294 раза
Репутация:   36  


Сталкивался с подобным. Согласен, лучшее решение - это использовать COLLATE.
Читаем мануал.


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
mobilnikplus
mobilnikplus
Topic Starter сообщение 17.5.2016, 16:52; Ответить: mobilnikplus
Сообщение #5


Завсегдатай
*****

Группа: Active User
Сообщений: 773
Регистрация: 21.9.2010
Из: Украина
Поблагодарили: 140 раз
Репутация:   10  


Цитата(Drupal_way @ 15.5.2016, 23:41) *
Выполняется запроc через phpmyadmin например

Встречал такую конструкцию на просторах интернета.

SQL - Выполнить SQL-запрос(ы) к базе данных *** - Ок

и чего? Что должно измениться? Как понять, что всё Ок или не Ок? В Структуре Сравнение как было cp1251, так и осталось.

UPD: Догадался, что нужно выполнить запросы, появившиеся после выполнения запроса. :) Но, во-первых, не все таблицы хотят менять кодировку, во-вторых, это никак не спасает от кракозябров в БД. Основная проблема - это кракозябры в БД, изменить кодировку таблиц я могу и другим способом.

UPD2: Sypex помог. Так что благодарю rom_4 за подсказку и рекомендую этот способ решения проблемы, кому надо.



Ну, и чтобы уже закрыть эту тему, подскажите, кто в курсе, сколько в принципе стоит подобная услуга, если заказывать, например, у фрилансеров? Просто интересно. :)

Сообщение отредактировал mobilnikplus - 17.5.2016, 16:53
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 18.5.2016, 8:00; Ответить: x64
Сообщение #6


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3361
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2696 раз
Репутация:   288  


Цитата(mobilnikplus @ 17.5.2016, 15:52) *
сколько в принципе стоит подобная услуга, если заказывать, например, у фрилансеров?

Обычно бесплатно, особенно если не придётся объяснять, чего/где/как делать, т. е. при предоставлении доступа к проблемной таблице/базе. По крайней мере, раньше, ответы прямо под предложением фигарили.
Либо символические 1/5/10$.


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Требуется убрать кракозябры на DLE
11 Telnor 1150 5.8.2017, 15:18
автор: Telnor


 



RSS Текстовая версия Сейчас: 21.10.2017, 3:32
Дизайн