О том, как побороть кракозябры на собственном сайте…
По каким причинам на моем сайте возникают кракозябры? Чаще всего кодировки так называемого вывода текста спрятаны в PHP. Когда PHP начинает взаимодействовать с MySQL и HTML всё это дело попросту не совпадает. Дело в том, что именно это некорректное взаимодействие является единственной причиной появления странных знаков. Необходимо разобраться только в одном — откуда же отправляются неправильные данные.
[adace-ad id=»5173″]
Кракозябры помогут появляться на сайте по причине того, что в HTML файле одна кодировка, а в файле PHP — другая, а сама страница поддерживает вывод данных с одной выбранной кодировкой
Что делать если на Вашем сайте появились кракозябры? Специалисты советуют просто везде и всегда устанавливать одну кодировку — в случае с русскоязычным сегментом интернета это будет UTF—8. Все файл на Вашем сайте обязаны иметь кодировку с маркировкой UTF—8.
В HTML непосредственно между хорошо известными тегами <head> и </head> следует добавить такую строку:
Если дело о PHP, то решение не сложнее — необходимо вставить нижеслудущий код везде где происходит вывод HTML:
Данный код можно просто поставить в самом начале файла.
Кракозябры от MySQL
Если файл MySQL, алгоритм будет немного сложнее. Бывает так, что текст полностью отображен правильно, за исключением некоторых элементов, которые как раз хранятся в базе MySQL файлом, в таком случае, это проблемы БД, и предыдущие шаги не нужны.
[adace-ad id=»5168″]
Файл MySQL полностью записывается и выводится в неверной кодировке:
Чтобы убедиться в этом, нужно воспользоваться PhpMyAdmin и самому проверить базу данных. Если в ней хранятся записи на русском языке, то с базой все хорошо, проблемы только с выводом данных и кодировкой.
Если же в БД отображаются иероглифы и непонятные символы, то решение не сложнее предыдущих. Нужно просто зайти в PhpMyAdmin и отыскать используемую БД. Осталось просто зайти в «Операции» и в самом низу списка выбрать пункт «Сравнение». Выбрать кодировку utf-8_general_ci.
Если у пользователя неправильная кодировка данных из MySQL:
В той ситуации, если у пользователя в базе есть тест на русском языке, а вывод этих данных — непонятные иероглифы, значит проблемы только с выводом этих данных. Чтобы решить эту проблему, нужно убедиться, что, непосредственно, перед самым выводом данных из БД в PHP файле имеет следующий код: