Кракозябры в БД, а на сайте норм (WP)

akill
На сайте с 04.04.2011
Offline
105
1912

Сайт на WordPress 4.6.1, все нормально отображается, и посты на сайты, и интерфейс админки.

Но как-то я зашел в БД сайта, и обнаружил что все посты там в кракозябрах, типа такого Цены на окна.

Было ли так сразу не известно.

Но факт в том, что при обновлении ВП до 4.7.1 все посты и страницы отображаются как в БД, кракозябрами. А интерфейс админки нормально.

Пробовал вордпрессовским экпортом/импортом решить проблему - не получилось. И кстати если посмотреть файл экспорта, который я делал на версии 4.6.1, то там русский язык в постах, без кракозябр.

TA
На сайте с 12.06.2009
Offline
116
TiA
#1

Как именно вы "вошли в БД" сайта? Какая кодировка страницы с содержимым базы данных?

Профессиональная верстка и разработка сайтов на WordPress (http://www.maultalk.com/topic139110s0.html)
akill
На сайте с 04.04.2011
Offline
105
#2
TiA:
Как именно вы "вошли в БД" сайта?

через phpmyadmin

TiA:
Какая кодировка страницы с содержимым базы данных?

если я правильно понял, то мне надо открыть запись в БД, открыть исх код страницы с этой записью и посмотреть что там за charset. Посмотрел, charset="utf-8"

---------- Добавлено 12.01.2017 в 22:24 ----------

Решил немного поэкспериментировать.

Откатил бекап на версию WordPress 4.6.1, т.е. когда на сайте и в админке все четко, а в БД кракозябры.

Открыл одну и ту же страницу в админке и в бд. И скопировал из html-редактора содержимое страницы в БД, вместо того ужаса что там было.

И получилось, что на сайте стали отображаться вопросики вместо русского текста (???? ??? ????). Дурдом.

Z0
На сайте с 03.09.2009
Offline
826
#3
akill:

если я правильно понял, то мне надо открыть запись в БД, открыть исх код страницы с этой записью и посмотреть что там за charset. Посмотрел, charset="utf-8"

При апдейте движка может кодировку не ту выбрали?

Совет нуба:

Сохраните файл экспорта из БД в utf-8, как вариант. Но пока не очень понятно, что у вас там.

Только сохраните все что можно перед этим, чтобы вернуть потом 🤪

P.S. А лучше подождите совета более знающих в этом :)

akill
На сайте с 04.04.2011
Offline
105
#4
ziliboba0213:
При апдейте движка может кодировку не ту выбрали?

Он автоматически обновился

Только что нашел столбец "Сравнение" в phpmyadmin, и там написано latin1_swedish_ci. Вы представляете? Притом у меня есть другие таблицы, и там указано utf8_general_ci.

А в конфиге ВП у меня написано

define('DB_CHARSET', 'utf8mb4');

define('DB_COLLATE', '');

Становится боле-менее понятна причина, но как правильно все исправить я все еще не знаю.

TA
На сайте с 12.06.2009
Offline
116
TiA
#5
akill:
через phpmyadmin

Посмотрите здесь: http://ru.stackoverflow.com/questions/26452/Кодировка-данных-в-phpmyadmin

Скорее-всего у вас в базе данных данные как таковые сохранены в UTF-8, WP использует эту же кодировку, но phpmyadmin их отображает в Windows-1251 или latin. Это может быть проблема как самого phpmyadmin, так и настроек БД по-умолчанию.

donc
На сайте с 16.01.2007
Offline
686
#6

А если просто скачать базу (дамп сделать) и открыть его в каком-нибудь нотепадже++

что будет?

Продвижение сайтов от 25 000 в мес, прозрачно, надежно https://searchengines.guru/ru/forum/818412 , но не быстро, отзывы
A9
На сайте с 04.01.2012
Offline
317
#7

Нужно скачать БД и сохранить в нормальной кодировке.

Если не знаете что да как, то лучше всего сделать экспорт а потом следом импорт через SypexDumper. Утилита простая, сложностей не возникнет.

https://hstq.net - аренда серверов от 9.99$! Нет KYC! Много стран размещения на выбор! Акция - удвоим оплаченный период! Заказывайте!
akill
На сайте с 04.04.2011
Offline
105
#8

Была подкинута идея поэкспериментировать с новой БД.

Попробовал, создал новую бд.

Попробовал импортнуть то, что экпортнул через phpmyadmin - тоже самое, кракозябры в БД.

Попробовал импортнуть то, что забекапил плагин - вопросики в БД.

И в обоих случаях после экспорта напротив таблицы wp_posts стоит latin1_swedish_ci в столбце "Сравнение".

Что самое интересное, при бэкапе базы плагином, в файле русские символы, не кракозябра. Но это не помогло. При экспорте через phpmyadmin - кракозябры как в phpmyadmin.

Везде где можно указывал utf-8.

Попробовал еще такой вариант - в новой базе после экспорта поменял latin1_swedish_ci на utf8_general_ci, и попробовал еще раз экспортнуть, притом и ту версию бекапа где русские символы, - все равно кракозябра, хоть и написано уже utf8_general_ci напротив таблицы wp_posts.

Есть идея взять базу из бекапа который сделал плагин (раз там все норм с русскими символами), и как-нибудь заменить все упоминания latin1_swedish_ci на utf8_general_ci. Тупо массовой заменой в notepad++.

Правда я нашел только такие строчки: DEFAULT CHARSET=latin1.

u3Bepr
На сайте с 03.03.2011
Offline
60
#9

попробуйте воспользоваться скриптом для бекапа Sypex Dumper 2.0.11. там в настройках при импорте и экспорте есть возможно выбора кодировок. как вариант в начале сделать экспорт с утф8, а потом им же импорт с утф8

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий