Что такое кракозябры и как их исправить

Что такое кракозябры и как их исправить

10 февраля 2020 Разное

Кракозябры — это искаженный текст, который выводится по причине не правильно установленной кодировки. Чаще всего это происходит когда русские символы в кодировке CP-1251 открываются в юникоде UTF-8.

Лучше всего в проектах всегда использовать кодировку UTF-8, так как эта универсальная кодировка и она поддерживает большинство символов. С ней будет меньше всего проблем, а сайт будет корректно отображаться в любой точке мира.

Как бороться с кракозябрами?

Сохранять файлы в UTF-8 без BOM

Во первых исходные файлы должны быть сохранены в кодировке UTF-8 без BOM. Это значит, что текст не будет содержать пустых символов, которые могут мешать интерпретации исходного кода или отображаться на сайте в виде точек. Преобразовать тексты можно в бесплатном редакторе Notepad++ в меню Кодировки → Преобразовать в UTF-8.

Добавлять мета-тег charset

В тегах <head></head> можно указать кодировку для браузера следующим тегом:

<meta charset="UTF-8" />

Указывать в PHP-функции header()

В самом начале файла .php добавляем следующий код:

header('Content-Type: text/html; charset=utf-8');

Указывать кодировку в файле .htaccess

Ещё один способ указать кодировку в файле .htaccess

AddDefaultCharset utf-8

Заходим сюда если нужны клининговые услуги в москве

Кодировка базы данных MySQL

Кодировка сайта и базы данных MySQL должны совпадать. Если это не так, то следует конвертировать базу данных в кодировку UTF-8. Следующий запрос конвертирует указанную таблицу в кодировку UTF -8:

ALTER TABLE `db_name`.`table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Конвертируем сразу все таблицы. Этот запрос будет работать в MySQL версии 5 и выше:

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`
WHERE 1 
AND t.`TABLE_SCHEMA` =  'My_DB_for_convert'
ORDER BY 1 
LIMIT 0 , 90

И указать кодировку базы данных в подключении. Для этого после подключения к БД добавляем:

mysql_query("SET NAMES 'UTF8'");

В 1С-Битрикс например, кодировку базы можно указать в файле /bitrix/php_interface/after_connect.php:

$DB->Query("SET NAMES 'utf8'";);
Если вам понравилась статья, вы можете отблагодарить автора любой суммой, какую сочтете для себя приемлемой:
Остались вопросы по статье? Задайте их прямо сейчас!
Похожие записи
Что такое искусственный интеллект (ИИ)?

Искусственный интеллект (ИИ) является одним из наиболее интересных и динамично развивающихся областей науки. Идеи о возможности создания искусственного интеллекта появились еще в древности, но практические реализации появились лишь в последние десятилетия. История искусственного интеллекта: от первых идей до современных реализаций Читать далее

Что такое нейросеть, как работает и как применяется

Нейросети являются одним из наиболее популярных инструментов машинного обучения, которые используются для решения различных задач. Они представляют собой сложную систему из нескольких слоев нейронов, которые взаимодействуют друг с другом для предсказания или классификации данных. Обзор основных понятий и принципов нейросетей: Читать далее

Что такое нейросеть Midjourney

Нейросети Midjourney – это мощные инструменты для машинного обучения, которые позволяют программистам и исследователям работать с большими объемами данных. Они были разработаны в начале 2000-х годов и представляют собой программное обеспечение, которое позволяет программистам и исследователям автоматизировать процессы машинного обучения. Читать далее

ChatGPT: что это, что умеет и как им пользоваться

ChatGPT - это интерактивный инструмент для генерации натурального языка, основанный на последних достижениях в области машинного обучения. Он позволяет пользователям генерировать натуральные языковые ответы на любые вопросы, используя предварительно обученную модель. Для использования ChatGPT пользователь должен ввести вопрос или запрос Читать далее

Хостинг, которым я пользуюсь

Хочу рассказать об очень классном хостинге, которым я начал пользоваться примерно год назад - это beget.ru. До этого мне приходилось иметь дело с разными хостинг-компаниями и все, что я расскажу основано на моем личном многолетнем опыте. Долгое время я пользовался Читать далее

Git для начинающих

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

Chart.js примеры создания диаграмм и графиков

Если у вас есть насыщенный информацией веб-сайт или приложение, вы можете визуализировать свои данные, чтобы пользователи могли лучше понять их. Хотя таблицы могут быть весьма полезны в некоторых случаях, таких как таблицы сравнения цен и характеристик, другие виды информации легче Читать далее

Добавить комментарий

*

code