Если вы сменили веб-хост или изменили базу данных своего блога WordPress, вы можете столкнуться с проблемой, из-за которой иностранные символы не отображаются на вашем сайте должным образом. Вместо иностранных символов вы увидите множество вопросительных знаков (???). В этой статье мы покажем вам, как решить эту проблему и показать правильный язык без потери данных.
Что такое кодировка символов?
Прежде чем перейти к причинам и способам решения этой проблемы, нам необходимо разобраться с кодировкой символов. Слова и предложения на любом языке состоят из символов. Эти символы сгруппированы в наборы символов. Каждый символ хранится в памяти компьютера с помощью двоичного кода. Используя этот код, компьютер может декодировать реальный символ. Этот двоичный код называется кодировкой символов.
В разных языках используются разные коды для обозначения разных символов. Один и тот же код на двух языках может означать совершенно разные символы. Это определяется тем, какая кодировка символов используется компьютером.
Вы можете увидеть некоторые из наборы символов в W3Schools , которые используются в Интернете. Посетите Википедию для полный набор наборов символов .
Вы видели??? в вашем блоге WordPress?
Может быть несколько причин, которые приводят к отображению неправильных символов. Прежде всего, вам необходимо убедиться, что вы используете тот же набор символов в файле wp-config.php. Найдите следующую строку и убедитесь, что она не закомментирована:
define('DB_CHARSET', 'utf8');
Во-вторых, вам необходимо проверить, использует ли ваша тема набор символов, установленный в файле wp-config.php. Найдите следующую строку в своем HTML:
<meta charset="UTF-8">
И, наконец, вам необходимо убедиться, что содержимое вашей базы данных хранится в той же кодировке набора символов, которую вы используете в файле wp-config.php и HTML. Если вы используете phpMyAdmin для управления своей базой данных, вы сможете увидеть текущие параметры сортировки сервера в общих настройках.
Изменение набора символов во всей базе данных WordPress — непростая задача, и ее следует выполнять с большой осторожностью. Ниже приведены шаги по преобразованию базы данных в выбранный вами набор символов.
1. Прежде всего нам необходимо проверить текущий набор символов базы данных. Вот SQL-запрос для проверки:
SHOW VARIABLES LIKE "character_set_database";
2. Если набор символов не тот, который вам нужен, вам следует сделать резервную копию базы данных, прежде чем продолжить.
3. Выполните следующий SQL-запрос, чтобы изменить набор символов всей базы данных:
ALTER DATABASE MyDb CHARACTER SET utf8;
Замените «MyDB» на имя вашей базы данных.
4. Теперь преобразуйте таблицу «wp-posts» в нужную вам кодировку символов:
ALTER TABLE wp_posts CHARACTER SET utf8;
Измените «wp_», если вы используете другой префикс.
Эти шаги удалят вопросительные знаки и другие странные символы и вместо них будут отображаться правильные иностранные символы. Если в базе данных WordPress много столбцов, для которых задан собственный набор символов, вам потребуется измените набор символов каждого столбца один за другим .
Поскольку UTF-8 является наиболее часто используемой кодировкой символов, если в вашем блоге используется другая кодировка символов и вы хотите изменить ее на UTF-8, вы можете использовать плагин под названием Конвертер БД UTF-8 . Хотя он уже довольно давно не обновлялся, свою задачу он сможет выполнить качественно. Обратите внимание: если у вас большая база данных, преобразование набора символов займет много времени.
Расскажите нам о своем опыте, если у вас возникла такая же проблема.