Кодировка страницы html. Кодировка страницы примеры и ошибки кодировок

При неправильной кодировке весь сайт или его часть отображаются в виде «кряпозяблов», т.е. непонятных символов, делающих текст нечитаемым. Такая ситуация может возникнуть при неверной настройки кодировки веб-сервера или при отсутствии настроек. Рассмотрим возможные варианты и способы устранения проблем

Неправильная кодировка HTML страниц

Создадим тестовый файлик:

Sudo gedit /var/www/html/encoding.html

Скопируем в него:

Проверка кодировки

Откроем этот файл в браузере http://localhost/encoding.html

Как можно видеть, кодировка браузером определена неправильно:

Имеется несколько способов исправить эту ситуацию. Начнём с самого простого - явно указать кодировку для веб-страницы. Это делается метатегом, который должен быть расположен внутри тэга head :

Добавим эту строку к нашему тестовому файлику, чтобы получилось так:

Проверка кодировки

Тестовый файл для проверки кодировки

Как мы можем убедиться на следующем скриншоте, проблема решена:

Если кодировка вашего файла отличается от UTF-8 , то вместо неё поставьте windows-1251 или ту, которая соответствует кодировке веб-страницы. Чтобы научиться определять кодировку файлов, посмотрите .

Это был самый простой способ исправления проблемы с кодировкой - без изменения настроек сервера.

Вернём наш тестовый файл в исходное состояние и продолжим изучение способов указания кодировки.

Если файлы .htaccess включены настройками Apache, то эти файлы можно использовать чтобы указывать кодировку отправляемых веб-сервером страниц. Чтобы включить поддержку файлов .htaccess в конфигурационном файле Apache (/etc/apache2/apache2.conf ) найдите группу строк

Options Indexes FollowSymLinks AllowOverride None Require all granted

И в ней замените

AllowOverride None

AllowOverride All

После этого сервер нужно перезапустить.

Sudo systemctl restart apache2.service

Файл .htaccess должен быть размещён в той же директории, что и сайт. Мой сайт размещён в корневой директории веб-сервера. Если у вас также, то теперь в папке /var/www/html/ создайте файл .htaccess и добавьте в него директиву AddDefaultCharset после которой укажите желаемую кодировку. Примеры

AddDefaultCharset UTF-8

AddDefaultCharset windows-1251

Можно указать кодировку, которая будет применена только к файлам определённого формата:

AddCharset utf-8 .atom .css .js .json .rss .vtt .xml

Набор файлов может быть любым, например:

AddCharset utf-8 .html .css .php .txt .js

Следующий вариант является альтернативным и также позволяет устанавливать кодировку для файлов определённого типа, для него нужно, чтобы был включён mod_headers :

Header set Content-Type "text/html; charset=utf-8"

Ещё один вариант, который также можно использовать в файле .htaccess для установки кодировки UTF-8:

IndexOptions +Charset=UTF-8

Если сайт на PHP, то дополнительно может понадобиться продублировать кодировку с php_value default_charset :

AddDefaultCharset windows-1251 php_value default_charset "cp1251"

Можно вместо создания файла.htaccess установить кодировку в конфигурационном файле веб-сервера. Для Apache CentOS/Fedora это файл httpd.conf, а на Debian/Ubuntu это файл apache2.conf. Добавьте следующую строку для установки кодировки и перезапустите веб-сервер, чтобы изменения вступили в силу:

AddDefaultCharset UTF-8

Как установить UTF-8 кодировку в PHP

В PHP скрипте для установки кодировки используется header , например:

Header("Content-Type: charset=utf-8");

Обычно вместе с кодировкой также указывают тип содержимого (в примере вариант для HTML страницы):

Header("Content-Type: text/html; charset=utf-8");

Ещё один вариант для RSS ленты:

Header("Content-type: text/xml; charset=utf-8");

Помните, что функция header должна быть вызвана перед любым выводом в браузер. В противном случае (если вывод в браузер уже был сделан), то уже были отправлены и заголовки. Очевидно, что в этом случае их уже невозможно поменять. Если в браузер было выведено сообщение об ошибке, то заголовки также уже были отправлены и использование header вызовет ошибку. Для проверки, были ли уже отправлены заголовки, используйте headers_sent .

Описанный способ работает только когда PHP скрипт полностью генерирует содержимое страницы. Статические страницы (такие как html) вы должны сохранять в кодировке utf-8. Большинство веб серверов обратят внимание на кодировку файла и добавят соответствующий заголовок. На самом деле, сохранение PHP файла в кодировке utf-8 приведёт к такому же результату.

Неправильная кодировка результатов из базы данных MySQL

Если ваш сайт состоит из статической части (шаблон) и динамической, которая формируется из данных, получаемых из базы данных, то может возникнуть ситуация, когда часть сайта имеет правильную кодировку, а другая часть сайта имеет неправильную. В этом случае бесполезно менять настройки веб-сервера - поскольку всё равно часть страницы будет иметь неправильную кодировку.

Нужно начать с определения кодировки ваших таблиц. Можно посмотреть в phpMyAdmin :

Обратите внимание на столбец «Сравнение », запись «utf8_unicode_ci » означает, что используется кодировка UTF-8 .

Можно подключиться к СУБД MySQL и проверить кодировку таблиц без phpMyAdmin. Для этого:

Mysql -u root -p

Если вы забыли имя базы данных, то выполните команду:

SHOW DATABASES;

Предположим, я хочу посмотреть кодировку для таблиц в базе данных information_schema

USE information_schema;

Если вы забыли имя таблиц, выполните:

SHOW FULL COLUMNS FROM имя_таблицы;

Например:

SHOW FULL COLUMNS FROM GLOBAL_STATUS;

Вы увидите примерно следующее:

Смотрите столбец Collation . В моём случае там utf8_general_ci , это, как и utf8_unicode_ci , кодировка UTF-8 . Кстати, если вы не знаете в чём разница между кодировками utf8_general_ci , utf8_unicode_ci , utf8mb4_general_ci , utf8mb4_unicode_ci , а также какую кодировку выбрать для базы данных MySQL, то посмотрите .

Теперь, когда мы узнали кодировку (в моём случае это UTF-8), то при каждом подключении к СУБД MySQL нужно выполнять последовательно запросы:

SET NAMES UTF8 SET CHARACTER SET UTF8 SET character_set_client = UTF8 SET character_set_connection = UTF8 SET character_set_results = UTF8

В PHP это можно сделать примерно так:

$this->mysqli = new mysqli($server, $username, $password, $basename); if ($this->mysqli->connect_error) { $this->errorHandler_c->logError(1, "Connect Error (" . $this->mysqli->connect_errno . ") " . $this->mysqli->connect_error, $_SERVER ["REQUEST_URI"]); } $this->mysqli->query("SET NAMES UTF8"); $this->mysqli->query("SET CHARACTER SET UTF8"); $this->mysqli->query("SET character_set_client = UTF8"); $this->mysqli->query("SET character_set_connection = UTF8"); $this->mysqli->query("SET character_set_results = UTF8");

Обратите внимание, что UTF8 вам нужно заменить на ту кодировку, которая используется для ваших таблиц.

Изменение кодировки файлов

Если вы решили пойти другим путём и вместо установки новой кодировки изменить кодировку ваших файлов, то посмотрите статью « ». В ней рассказано, как узнать текущую кодировку файлов и как конвертировать файлы в любую кодировку (не только UTF-8).

Как узнать, какую кодировку отправляет сервер

Если вы хотите узнать, какие настройки кодировки имеет веб-сервер (какую кодировку передаёт в заголовках), то воспользуйтесь следующей командой:

Curl URL -s -o /dev/null -D /dev/stdout | grep -E "charset"

В ней вместо URL вставьте реальный адрес проверяемого сайта. Если сайт использует HTTPS, то укажите адрес сайта вместе с протоколом, например

Curl https://softocracy.ru -s -o /dev/null -D /dev/stdout | grep -E "charset"

Какую кодировку выбрать для веб-сайта

Как задать кодировку сайта, что бы браузер верно мог её определить, и не показывать вам кракозяблы, типа:

Р-аказать сайт Сѓ нас - это создать сайт недорого Рё качественно

В HTML для указания кодировки используется тег:

Наиболее часто встречаются типы кодировки для русского языка передаваемые в заголовке документа:

Windows-1251 - Кириллица (Windows).
KOI8-r - Кириллица (КОИ8-Р)
cp866 - Кириллица (DOS).
Windows-1252 - Западная Европа (Windows).
Windows-1250 - Центральная Европа (Windows).
UTF-8 - двух байтовая кодировка

Теперь рассмотрим указание кодировки по умолчанию через файл.htaccess (если это файла нету, надо его создать, имя файла начинается с точки)

AddDefaultCharset задает дефолтную таблицу символов (кодировку) для всех выдаваемых страниц на веб-сервере Apache

Достаточно добавить 1 строку

AddDefaultCharset UTF-8

AddDefaultCharset WINDOWS-1251

Всего одна строчка, и браузер выдаст страницу пользователю, в правильной кодировке, независимо от своих предпочтений. Кодировка сайта будет одинакова для всех браузеров.

При загрузке файла на сервер возможна перекодировка. Указываем, что все получаемые файлы будут иметь кодировку windows-1251, для этого напишем.

В этой статье я постараюсь поставить все точки над «и» (а так же над «i») в вопросе выбора кодировки для создаваемой HTML-страницы.

Когда я только начинал заниматься сайтостроительством у меня постоянно возникали проблемы из-за этих кодировок. Сохранишь HTML-страницу, выгрузишь на сервер, открываешь, бах, а там кракозябры. Ну вот и здравствуйте, приехали.

Или в среде отладки (например, локальная среда разработки « ») все нормально, а с хостинга опять они, кракозябры проклятые, нагло на меня смотрят.

С движками сколько мучений было. Вдруг, непонятно почему, родные русские буквы превращаются в …

Сейчас мы с этим делом подробно разберемся и вы будете четко знать в какую кодировку сохранять HTML-страницу и посредством каких инструментов .

Для укрепления нашего взаимопонимания определимся с понятием кодировка . Так вот, кодировка - это таблица соответствия машинных кодов и символов алфавита. Есть какая-то последовательность машинных символов, которую умный компьютер, в соответствии с выбранной кодовой таблицей, заменяет на понятные нам буквы.

В 90-е годы прошлого века (древность какая, а я как сейчас помню календарь 1991 года на стене) существовало 4-е кодировки для PC и еще одна, своя собственная, для Мака. Ирония судьбы заключается в том, что во всех этих кодировках символы латиницы ставились в соответствие машинным кодам по одному и тому же алгоритму, а вот по поводу кирилицы каждая из кодировок имела свое собственное мнение.

Вся эта путаница и привела к появлению кракозябров. Например, если слово «Вопрос », набранное в кодировке windows-1251, отобразить кодировкой KOI8-R, получится слово «бНОПНЯ ».

Слава Богу, 90-е годы уже далеко позади и из пяти бредокодировок осталось всего 2-е нормальных. Но этого вполне достаточно, чтобы начинающий веб-мастер заблудился в двух соснах. Ничего, не переживайте, сейчас я вас выведу из этого леса!

На данный момент выбор для кодировки HTML-документа стоит между windows-1251 и utf-8. А теперь внимание: utf-8 гораздо богаче, мощнее и за ней будущее. Так что наши HTML-файлы мы будем сохранять именно в utf-8.

Обосную свои слова;). UTF-8 содержит в своей таблице соответствия такие знаки, как ↓. А в windws-1251 вместо этих символов вот что: > . А еще в utf-8 есть знак "евро"; а еще utf-8 позволяет в одном HTML-файле совмещать кучу разнообразных специфических символов, используемых в таких языках как грузинский, иврит, китайский, японский; а еще utf-8 в кодировках HTML - это правило хорошего тона.

Надеюсь я вас убедил и вы будете использовать Юникод (кстати «utf-8» и «Юникод» - это синонимы или, если быть более точным, utf-8 - это одна из кодировок семейства Юникод, которая снискала популярность в среде веб-разработчиков).

Теперь пристально посмотрим на инструменты перекодирования файлов, которые я рекомендую вам использовать, уважаемый читатель.

Инструменты для работы с кодировками HTML файлов

Собственно, их всего три:

  • PSPad . Бесплатный текстовый редактор, мой любимый.
  • . Еще один хороший текстовый редактор и тоже бесплатный.
  • Dreamweaver. Ну с Dreamweaver-ом вы с вами знакомы из моих .

Загружаем какой-то HTML-файл в PSPad. И как же нам понять, что за кодировка у загруженного подопытного? Очень просто в строке состояния (внизу) все четко написано.

Кодировка открытого HTML-файла windows-1251

А теперь, создавая новый HTML-документ, позаботимся о его кодировке.

Идем в меню моего любимого PSPad-а . Нас интересует пункт Формат . В нем-то мы и поставим галку напротив кодировки utf-8.

А так кодировка будующего файла - windows-1251

Теперь о том как изменить кодировку файла HTML . Да оказывается очень просто:

Нужно кликнуть по требуемой кодировке в пункте меню Формат и кодировка сменится. После этого сохраняйте файл, он перекодирован, дело сделано.

Что касается Notepad++ все очень похоже на вышеописанную ситуацию. Только для работы с кодировками нужно использовать пункт меню Кодировки.

Вся разница заключается в том, что в случае Notepad++ появляются, специально разработанные для преобразования кодировок, пункты меню Преобразовать.. . (лишние на мой взгляд, в PSPad все проще и поэтому я им пользуюсь). Соответственно, именно по ним и нужно кликать при желании поменять кодировки у нашего HTML-файла.

Кроме всего прочего, при сохранении в utf-8 у нас есть выбор: без BOM или с BOM . Нам, как веб-мастерам, нужно использовать кодировку UTF-8 (без BOM) .

Вот что нам ответит Википедия на вопрос «что такое BOM »

Для определения формата представления Юникода в текстовом файле используется приём, по которому в начале текста записывается символ U+FEFF (неразрывный пробел с нулевой шириной), также именуемый меткой порядка байтов (англ. Byte Order Mark, BOM). Этот способ позволяет различать UTF-16LE и UTF-16BE, поскольку символа U+FFFE не существует. Также он иногда применяется для обозначения формата UTF-8, хотя к этому формату и неприменимо понятие порядка байтов.

Если прочитать приведенный текст 10 раз, почесать затылок, то становится понятно: для utf-8 BOM нам НЕ нужен . Кроме того, если сохранить файл с php-скриптом в кодировку utf-8 с BOM , то он не будет работать, потому что обработчик не поймет, что это за ерунда такая написана в начале файла-скрипта (я имею ввиду тот самый неразрывный пробел с нулевой шириной).

Так-так, осталось пристально взглянуть на Dreamweaver .

Создавая новый файл, обращайте внимание на то, в какой кодировке он будет создан. Для этого в окне создания нового документа File → New (Ctrl+N) воспользуйтесь кнопкой Preferences ...

И посмотрите, что задано в качестве кодировки по умолчанию:

Кодировка создаваемого HTML-файла по умолчанию в Dreamweaver

Перекодировать открытый HTML-файл в Dreamweaver можно в диалоге Page Properties, который запускается из меню Modify Page Properties (Ctrl + J).

Выбирайте требуемую кодировку, нажимайте ОК и все, задача по перекодированию выполнена (а вот BOM все так же ненужен, не ставьте галку).

Определение кодировки браузерами

Итак, наш HTML-файл сохранен в выбранную нами кодировку. Теперь давайте разберемся с вопросом: каким образом браузер узнает о применяемой в данном HTML-файле кодировке?

Здесь есть три варианта:

1. Мы сами сообщаем браузеру о том, какая кодировка установлена для данного HTML файла. Делается это посредством META-тега

В приведенном примере браузеру дается указание, что загруженный HTML-файл сохранен в кодировке utf-8 .

Если HTML-файл сохранен в кодировку windows-1251, то:

Кстати, при перекодировке файлов не забывайте изменять директивы в META-теге на актуальные. Dreamweaver, при изменении кодировки, делает это автоматически, а в других текстовых редакторах вам нужно самим ставить в соответствие примененную кодировку и директиву META-тега.

Полный HTML выглядит следующим образом (привожу его для понимания вопроса «в каком месте указывается META-тег с директивой кодировки» внимание на 4-ю строку):

Untitled Document Ну и т.д.

2. При помощи файла.htaccess. Иногда сервер насильно передает заголовки для загружаемых HTML-файлов и сообщает браузеру кодировку по умолчанию. В этом случае браузер не обращает внимания на директивы в META-теге, а отображает HTML-файл в той кодировки, которую сообщил сервер. Чтобы файл загружалсяв той кодировке, которая нужна вам (часто хостинг насильно указывает кодировку windows-1251), в корне хостинг-директории создается файл с именем «.htaccess».

Файл этот предназначен для дополнительной конфигурации сервера. Действие.htaccess-директив распространяется на все файлы и подкаталоги, которые находятся в том каталоге, куда вы сохранили файл.htaccess.

Создать этот файл можно, например, в Total Commander-е, нажав горячее сочетание клавиш Shift+F4 и указав имя создаваемому файлу .htaccess . Далее в текстовом редакторе указываются директивы дополнительных настроек кодировки по умолчанию.

Для HTML-файлов в кодировке utf-8 в.htaccess нужно написать одну строку:

AddDefaultCharset UTF-8

Для HTML-файлов в кодировке Windows-1251 :

AddDefaultCharset Windows-1251

Если ваш хостинг хитро-мудрый и не обращает внимания на эти директивы, то можно попробовать:

Charsetdisable on AddDefaultCharset Off

Если и это не дало результата, то просто спросите у своего хостера, чего вам делать, чтобы отключить кодировку по умолчанию:). Все это зависит от конкретных настроек сервера у хостинг-провайдера.

3. PHP-инструкция, указывающая кодировку по умолчанию. В файле, который нужно отобразить в желаемой кодировке, не смотря на настройки сервера хостинг-провайдера, в самом начале указывается директива с php-кодом:

Этот php-код отправит заголовок сервера с указанием кодировки по умолчанию для браузера. В приведенном примере, для отображения страницы, будет применяться кодировка utf-8.

Против такого лома, обычно, приемов в настройках сервера хостинг-провайдера не остается.

Хочу заметить, что для обработки php-инструкций сервером, html-файл должен иметь расширение .php (например index.php).

Есть еще вопросы по кодировкам? Пишите в комментарии. Нужно решить эти проблемы раз и на всегда 🙂

15.03.2016

Пока нет


Всем привет!
Продолжаем изучать основы HTML. В этом уроке мы разберем, как указать HTML кодировку для сайта (веб-страницы).
Этот урок очень важен, так как незнание того, как указать кодировку для веб-страницы может привести к тому, что вашу страницу не смогут прочитать. Вы спросите: «Это как так, не смогут?».
Давайте я покажу, как выглядит мой блог с неправильной кодировкой:

Итак, HTML кодировка – это таблицы соответствия кодов и символов алфавита. То есть, наш компьютер по кодировке поменяет код на понятные читабельные буквы .

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

Обратите внимание, в коде есть слово «имя кодировки». Здесь нужно указать HTML кодировку.
Обычно это utf-8 или windows-1251 .

Кодировка для utf-8 :

Кодировка для windows-1251 :

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

Переходим к практике.

Как создать HTML документ с
кодировкой utf-8

«Все программы» => «Стандартные» => «Блокнот» :

</body> </html> </p><p> <head></head> вот этот мета-тег:</p><p> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </p><p> <html> <head> <title> Моя первая HTML-страничка на StepkinBlog.. </body> </html> </p><p>Жмите в блокноте <span>«Файл» => «Сохранит как…» </span>:</p> <p><img src='https://i1.wp.com/stepkinblog.ru/wp-content/uploads/2016/03/kak-ukazat-kodirovku-sajta-na-html-osnovy-html-dlya-nachinayushhix-urok-20-3.png' width="100%" loading=lazy></p> <p><br> Там, где пункт «Кодировка:» укажите «UTF-8» .<br> Жмите «Сохранить» :</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2016/03/kak-ukazat-kodirovku-sajta-na-html-osnovy-html-dlya-nachinayushhix-urok-20-4.png' width="100%" loading=lazy></p><p>Увеличить изображение?</p> <h3><span>Как создать HTML документ с кодировкой windows-1251 </span></h3> <p>Открывайте стандартный блокнот. <span><i>«Все программы» => «Стандартные» => «Блокнот» </i> </span>.<br> Далее вставляете в блокнот стандартный код HTML:</p><p> <html> <head> <title> Моя первая HTML-страничка на StepkinBlog.. </body> </html> </p><p>Теперь указываем, в какой кодировке сохранена веб-страница. Для этого разместите между тегами <head></head> вот этот мета-тег:</p><p> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> </p><p>Вот так должно получиться (строка №4 ):</p><p> <html> <head> <title> Моя первая HTML-страничка на StepkinBlog.. </body> </html> </p><p>Жмите в блокноте <span>«Файл» => «Сохранит как…» </span>:</p> <p><img src='https://i2.wp.com/stepkinblog.ru/wp-content/uploads/2016/03/kak-ukazat-kodirovku-sajta-na-html-osnovy-html-dlya-nachinayushhix-urok-20-5.png' width="100%" loading=lazy></p> <p>Там, где пункт «Имя файла» напишите название веб-страницы на латинице и с расширением «.html» . Я думю, вы это помните еще с первых уроков.<br> Там, где пункт «Кодировка:» укажите «ANSI» .<br> Жмите «Сохранить» :</p> <p><img src='https://i2.wp.com/stepkinblog.ru/wp-content/uploads/2016/03/kak-ukazat-kodirovku-sajta-na-html-osnovy-html-dlya-nachinayushhix-urok-20-6.png' width="100%" loading=lazy></p> <p>Вот и все!</p> <p>Большинство вебмастеров выбирают кодировку UTF-8 . Причины говорить не буду, так как боюсь нагрузить вас информацией, которая на вашем этапе познания HTML еще не нужна.</p> <p>Для примера в блокнте установите код:</p><p> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </p><p>И укажите при сохранении «ANSI» :</p> <p><img src='https://i2.wp.com/stepkinblog.ru/wp-content/uploads/2016/03/kak-ukazat-kodirovku-sajta-na-html-osnovy-html-dlya-nachinayushhix-urok-20-6.png' width="100%" loading=lazy></p> <p>Так как это неправильно, результат будет вот таким:</p> <p>Сохраняйте правильно ваши веб-страници во избежание вот таких результатов </p> <p>Предыдущая запись <br></span> <span>Следующая запись <br></p> <p>Практический каждый новичок в области веб-разработок, рано или поздно сталкивается с проблемами кодировки в своих проектах. И тогда, как по написанному сценарию, начинается бомбардировка форумов с вопросами о том, как победить ненавистные "<b>кракозябры </b>". Подавляющее большинство проблем уже давно известны и лечатся довольно легко, нужно просто знать "<i>в каком месте болит и какую таблетку принять </i>". Посему, предлагаю разобрать наиболее популярные ошибки, из-за которых эта проблемка появляется и возможно, что мои рекомендации избавят вас от дальнейших с ними столкновений.</p> <p>Во-первых, настоятельно рекомендую, чтобы <span>все документы были в одной кодировке </span> и база данных, а именно поля со строковыми данными, имели такую же кодировку. Устанавливается она при создании базы или же можно указывать сравнение для каждого отдельного поля. Если создаёте БД с помощью phpMyAdmin, то сложностей возникнуть не должно: закладка "Базы данных" > в поле под "Создать базу данных" вписываете имя вашей будущей БД > рядом выпадающий список "Сравнения". Если же создаёте базу sql-запросом, то пишите примерно следующее:</p><p>CREATE DATABASE IF NOT EXISTS `my_db_name` CHARACTER SET utf8 COLLATE utf8_general_ci; </p><p>Выбор кодировки остаётся за вами, но я бы посоветовал выбрать для документов "<b>UTF-8 без BOM </b>" и сравнение для базы "<b>utf8_general_ci </b>" (<i>юникод многоязычный, регистронезависимый </i>). Только не забудьте подстраховаться и сделать дамп перед манипуляциями с БД! Не буду здесь расписывать, что такое BOM , но если о-о-очень образно и на пальцах, то это такой невидимый маркер, который планировался для различения кодировок UTF-16LE и UTF-16BE, но по некоторым причинам оказался невостребованным и теперь мешает веб-разработчикам жить спокойно;) Выглядит BOM, как символ U+FEFF и селится в начале документа. А почему всё-таки UTF-8? Вот, хотя бы пара причин... Вы без проблем сможете выводить на экран как кириллицу, так и цитату из стихов Аль-Мутанабби или китайские иероглифы. Всё потому, что в той же кодировке windows-1251 (cp1251) всего лишь 256 символов, в то время, как в UTF-8 их около ста тысяч, плюс ко всему специальные символы, пиктограммы, значки и т.д. Если вы собираетесь использовать на своём сайте ajax-запросы, то это так же добавляет плюс к кодировке UTF-8, потому что именно с этой кодировкой дружит объект XMLHttpRequest, а с другими придётся извращаться и иногда безуспешно. Та же карта сайта (sitemap.xml), которая служит для индексации поисковыми системами, работает только, если этот файл создан с кодировкой UTF-8. Кроме того, эта кодировка является стандартом для работы многих функций PHP и стандартом, который рекомендован W3C .</p> <p>При создании нового документа - всё ясно, а как быть с уже существующим, в котором желательно изменить кодировку? Один из самых простых способов - это открыть документ в Notepad++ , выбрать в меню "<i>Кодировки </i>" и в списке "<i>Преобразовать в UTF-8 без BOM </i>". Далее изменяем метатег с определением кодировки:</p><p>И для php-файлов можно установить соответствующий заголовок, но только, если файл не подключен в другом документе, где такой заголовок уже будет отправлен раньше. Это касается как заголовка в метатеге, так и отправленного функцией header:</p><p>Header("Content-Type: text/html; charset=utf-8"); </p><p>Проверяем результат в браузере. Тут может несколько вариантов:</p> <ol><li>Всё выводится отлично и вопрос закрыт</li> <li>Статически прописанные данные отображаются нормально, но данные из БД - всё тами же "кракозябрами"</li> <li>Ничего не изменилось и кодировка осталась кривой</li> </ol><p>Начнём с последнего пункта. Счастливые владельцы выделенных серверов или VPS/VDS, могут изменить кодировку для директивы <b>default_charset </b> в конфигурационном файле php.ini. Тем же, кто доступа к php.ini не имеет или имеет, но необходимо изменить кодировку только для одного сайта, можно использовать файл.htaccess, записав в него следующее:</p><p> # в принципе, хватает строки ниже: AddDefaultCharset UTF-8 # но иногда, могут потребоваться дополнительные установки: DefaultLanguage ru php_value default_charset "utf-8" </p><p>Файл.htaccess распологается в корне вашего сайта. Если вы его там не обнаружили, то создаём сами. В обычном блокноте создаёте документ > "<i>Сохранить как </i>" > Тип файла выбрать "<i>Все файлы </i>" > в поле "Имя файла" записываем только точку и расширение "<b>.htaccess </b>".</p> <p>Переходим ко второму пункту - если базу перевели на нужную кодировку, но данные из неё отображаются на странице криво. Для начала, нужно убедится, что символы в самой базе отображаются нормально. Если кодировка там "не поплыла", то можно или же опять апеллировать к файлам конфигурации, или сделать запрос сразу после подключения к базе:</p><p>SET NAMES utf8; </p><p><b>* </b>я пишу сам текст запроса, но т.к. не знаю какое расширение вы используете для работы с MySQL, покажу несколько вариантов:</p><p> // для устаревшего mysql_* $db = mysql_connect("localhost", "username", "password"); mysql_select_db("db_name", $db); mysql_query("SET NAMES utf8"); // для PDO и версий php ниже 5.3.6 $dbh = new PDO("mysql:host=localhost;dbname=db_name", "username", "password"); $dbh->exec("SET NAMES utf8"); // для PDO и версий php 5.3.6 и новее, можно указывать прямо при создании объекта $dbh = new PDO("mysql:host=localhost;dbname=db_name;charset=utf8", "username", "password"); // или $db = new PDO("mysql:host=localhost;dbname=db_name", "username", "password", array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); // для MySQLi $mysqli = new mysqli("localhost", "username", "password", "db_name"); $mysqli->set_charset("utf8"); </p><p>Раз уж затронул вопрос "устаревшего mysql_*", то хочу обратить ваше внимание, на текст выделенный красным в документации php. Cто́ит задуматься...<br>Если у вас была одна из стандартных проблем, то выполнив некоторые или все вышеописанные шаги, с кодировкой вопрос будет решен положительно. Но так же хотелось бы упомянуть о некоторых функциях, которые могут пригодится в нестандартных ситуациях. Подробнее о них вы сможете прочитать в документации, а я лишь приведу пару примеров, не вдаваясь в подробности:</p><p>Mb_internal_encoding() C помощью этой функции, мы можем установить или получить текущую кодировку скрипта: mb_internal_encoding("UTF-8"); // устанавливаем echo mb_internal_encoding(); // без аргумента - получаем mb_http_input() и mb_http_output() Две функции, которые определяют, устанавливают или получают кодировку символов HTTP запроса или вывода: print_r(mb_http_input("I")); // определяем кодировку входных данных http-запроса mb_http_output("UTF-8"); // устанавливаем кодировку для http-вывода echo mb_http_output(); // получаем текущую кодировку символов http-вывода iconv() Функция преобразовывает символы строки в нужную кодировку: echo iconv("utf-8","cp1251","Привет, РјРёСЂ!"); // Привет, мир! mb_convert_encoding() Функция похоже на iconv(), но на мой взгляд лучше, т.к. работает более адекватно. echo mb_convert_encoding("Привет, РјРёСЂ!","cp1251","utf-8"); // Привет, мир! </p><p>Да и вообще, не забываем про аналоги функций для работы с многобайтными строками . Чаще всего, они имеют такое же название, но с приставкой <b>mb_ </b>. Разницу ощутить достаточно просто. Возьмём, для примера, функции <b>strlen() </b> и <b>mb_strlen() </b> и проведём эксперимент, измерив длину строки:</p><p> // установим внутреннюю кодировку mb_internal_encoding("utf-8"); // для латинских символов разницы нет echo strlen("incode"); // 6 echo mb_strlen("incode"); // 6 // А вот с кириллицей выдает - пичалька echo strlen("инкод"); // 10 echo mb_strlen("инкод"); // 5 </p><p>Может кому и не нужно объяснять это явление, но для новичков растолкую: кириллица кодируется двумя байтами, а <b>strlen() </b> считает именно количество байт в строке, а не количество букв. Вот и получается, что пять кириллических символов умножить на два - получаем 10. Китайские символы, если я не ошибаюсь, вообще кодируются тремя байтами, поэтому в дальнейшем для таких случаев, чтоб не возникало никаких недорозумений, используйте соответствующие функции.</p> <p>Повторюсь, что эти решения к часто встречающимся случаям и в подавляющем большинстве, они решают проблему. Но если у вас возникла ситуация, когда всэ эти способы не возымели действия, то пишите сюда, попробуем разобраться вместе и дополним статью новым "рецептом от головной боли" ;) Засим позвольте откланяться.</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy>");</script> </span> <div class="wrap-page-links clearfix"> <div class="clear"></div> </div> <div class="clearfix"> <ul class="socials-link pull-left clearfix"> <div class="post-meta-social"> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,gplus,twitter"></div> </div> </ul> <div class="clear"></div> </div> </div> <div class="about-author clearfix"> </div> <div class="about-author clearfix"> <div id="mc-container"> <ul id="cackle-comments"> </ul> </div> </div> <div class="widget-area-4"> <div class="widget kp-article-list-widget"> <h6 class="widget-title">Случайные статьи</h6> <ul class="clearfix"> <li> <article class="entry-item standard-post"> <div class="entry-thumb hover-effect"> <a href="/windows/kak-nastroit-uvedomleniya-na-vyklyuchennom-ekrane-kak-otklyuchit/"><img src="/uploads/6fc8470fe129531877bf016d9c90ac1d.jpg" alt="Как отключить уведомления на Android?" / loading=lazy></a> </div> <div class="entry-content"> <h6 class="entry-title"><a href="/windows/kak-nastroit-uvedomleniya-na-vyklyuchennom-ekrane-kak-otklyuchit/">Как отключить уведомления на Android?</a></h6> <p>Устанавливая каждое приложение, владелец смартфона соглашается с запросами на доступ к определенным данным и возможностям...</p> </div> </article> </li> <li> <article class="entry-item standard-post"> <div class="entry-thumb hover-effect"> <a href="/android/obzor-kross-platformennyh-menedzherov-parolei-pochemu-ya-ne-polzuyus/"><img src="/uploads/e70121d93b5fe27846d52b02d110875b.jpg" alt="Почему я не пользуюсь менеджерами паролей Менеджер паролей на своем сервере" / loading=lazy></a> </div> <div class="entry-content"> <h6 class="entry-title"><a href="/android/obzor-kross-platformennyh-menedzherov-parolei-pochemu-ya-ne-polzuyus/">Почему я не пользуюсь менеджерами паролей Менеджер паролей на своем сервере</a></h6> <p>С тем, что количество паролей, которые надо запомнить, точно больше, чем места для них в голове, столкнулись, наверное,...</p> </div> </article> </li> <li> <article class="entry-item standard-post"> <div class="entry-thumb hover-effect"> <a href="/windows/rodnye-draivera-dlya-noutbuka-lenovo-g770-ustanovka-draivera-dlya-noutbuka-lenovo-g770/"><img src="/uploads/43482bcfc5f12fadbbcc98e09405bb29.jpg" alt="Установка драйвера для ноутбука Lenovo G770" / loading=lazy></a> </div> <div class="entry-content"> <h6 class="entry-title"><a href="/windows/rodnye-draivera-dlya-noutbuka-lenovo-g770-ustanovka-draivera-dlya-noutbuka-lenovo-g770/">Установка драйвера для ноутбука Lenovo G770</a></h6> <p>Для успешной работы с любым оборудованием требуется наличие драйверов и своевременное их обновление. В случае с...</p> </div> </article> </li> <li> <article class="entry-item standard-post"> <div class="entry-thumb hover-effect"> <a href="/android/kak-vklyuchit-obnovlenie-drugih-produktov-microsoft-kak-vklyuchit/"><img src="/uploads/c50fe8ef72dfbbb9e148f8d51fdb790a.jpg" alt="Как включить обновление Microsoft Office?" / loading=lazy></a> </div> <div class="entry-content"> <h6 class="entry-title"><a href="/android/kak-vklyuchit-obnovlenie-drugih-produktov-microsoft-kak-vklyuchit/">Как включить обновление Microsoft Office?</a></h6> <p>Я установил обновление для авторов (версия 1703) на свой компьютер с Windows 10 Pro, но теперь я получаю обновления для...</p> </div> </article> </li> <li> <article class="entry-item standard-post"> <div class="entry-thumb hover-effect"> <a href="/internet/programma-dlya-skachivaniya-gif-na-aifon-kak-pravilno-sohranyat-gif-animaciyu-na/"><img src="/uploads/fa055500e15ba76008abb25a87be357e.jpg" alt="Как правильно сохранять GIF анимацию на любой iPhone" / loading=lazy></a> </div> <div class="entry-content"> <h6 class="entry-title"><a href="/internet/programma-dlya-skachivaniya-gif-na-aifon-kak-pravilno-sohranyat-gif-animaciyu-na/">Как правильно сохранять GIF анимацию на любой iPhone</a></h6> <p>GIF – растровый формат графических изображений, поддерживающий не более 256 цветов и применяющийся в первую очередь для...</p> </div> </article> </li> <li> <article class="entry-item standard-post"> <div class="entry-thumb hover-effect"> <a href="/windows/gde-v-aifone-nahoditsya-oblako-chto-takoe-icloud-i-kak-im-polzovatsya-icloud-vhod-v/"><img src="/uploads/dbb843fb9888ab626ac8107570609dff.jpg" alt="Что такое iCloud и как им пользоваться" / loading=lazy></a> </div> <div class="entry-content"> <h6 class="entry-title"><a href="/windows/gde-v-aifone-nahoditsya-oblako-chto-takoe-icloud-i-kak-im-polzovatsya-icloud-vhod-v/">Что такое iCloud и как им пользоваться</a></h6> <p>Если вам еще не приходилось пользоваться фирменным облачным хранилищем от компании Apple, вы многое потеряли. Помимо...</p> </div> </article> </li> </ul> </div> </div> </div> <div id="right-sidebar" class="widget-area-2"> <div class="widget kp-article-list-widget"> <h6 class="widget-title">Реклама</h6> <div align="center"> </div> </div> <div class="widget kp-article-list-widget"> <h6 class="widget-title">Железо</h6> <ul class="clearfix"> <li> <article class="entry-item standard-post"> <header> <span class="entry-date clearfix"><span class="entry-icon icon-time"></span><span>2023-08-17 02:10:18</span></span> </header> <div class="entry-thumb hover-effect"> <a href="/iron/kak-otpisatsya-ot-podpisok-eppl-kak-otklyuchit-avtomaticheskoe-prodlenie-podpiski-na-apple-music-po-o/"><img src="/uploads/31e9750c08969e928686c3d87459f6df.jpg" alt="Как отключить автоматическое продление подписки на Apple Music по окончании пробного периода" / loading=lazy></a> </div> <div class="entry-content"> <h6 class="entry-title"><a href="/iron/kak-otpisatsya-ot-podpisok-eppl-kak-otklyuchit-avtomaticheskoe-prodlenie-podpiski-na-apple-music-po-o/">Как отключить автоматическое продление подписки на Apple Music по окончании пробного периода</a></h6> <p>Компания Apple предоставляет своим пользователям широкий выбор сервисов, помогающих найти, сохранить и...</p> </div> </article> </li> <li> <article class="entry-item standard-post"> <header> <span class="entry-date clearfix"><span class="entry-icon icon-time"></span><span>2023-08-16 02:21:28</span></span> </header> <div class="entry-thumb hover-effect"> <a href="/iron/kak-ustanovit-mfu-bez-ustanovochnogo-diska-kak-ustanovit-lokalnyi-i/"><img src="/uploads/f57d4556aa0f1de7b7912adce072b49c.jpg" alt="Как установить локальный и сетевой принтер без установочного диска" / loading=lazy></a> </div> <div class="entry-content"> <h6 class="entry-title"><a href="/iron/kak-ustanovit-mfu-bez-ustanovochnogo-diska-kak-ustanovit-lokalnyi-i/">Как установить локальный и сетевой принтер без установочного диска</a></h6> <p>Решение задачи, связанной с тем, как настроить принтер на печать с компьютера является не такой уж сложной, как...</p> </div> </article> </li> </ul> </div> <!-- /next_cat --> <div class="widget kp-article-list-widget"> <h6 class="widget-title">Интернет</h6> <ul class="clearfix"> <li> <article class="entry-item standard-post"> <header> <span class="entry-date clearfix"><span class="entry-icon icon-time"></span><span>2023-08-15 02:25:22</span></span> </header> <div class="entry-thumb hover-effect"> <a href="/blog/kak-nastroit-telefon-chtoby-rabotal-internet-podklyuchenie-interneta/"><img src="/uploads/65a8b66d4aae2ced269a7800a77a4af1.jpg" alt="Подключение интернета на смартфоне “Андроид”: вручную через симку или ноутбук" / loading=lazy></a> </div> <div class="entry-content"> <h6 class="entry-title"><a href="/blog/kak-nastroit-telefon-chtoby-rabotal-internet-podklyuchenie-interneta/">Подключение интернета на смартфоне “Андроид”: вручную через симку или ноутбук</a></h6> <p>Практически все Android-устройства умеют подключаться к мобильному интернету, используя ресурсы сотовых...</p> </div> </article> </li> <li> <article class="entry-item standard-post"> <header> <span class="entry-date clearfix"><span class="entry-icon icon-time"></span><span>2023-08-15 02:25:22</span></span> </header> <div class="entry-thumb hover-effect"> <a href="/gadgets/kak-vklyuchit-i-vyklyuchit-mobilnyi-sotovyi-internet-ili-wi-fi-na-iphone-i-ipad/"><img src="/uploads/569bbd12b2ca11968001c5d27eda0b36.jpg" alt="Включение интернета на iPhone Как настроить мобильный интернет на айфоне 5s" / loading=lazy></a> </div> <div class="entry-content"> <h6 class="entry-title"><a href="/gadgets/kak-vklyuchit-i-vyklyuchit-mobilnyi-sotovyi-internet-ili-wi-fi-na-iphone-i-ipad/">Включение интернета на iPhone Как настроить мобильный интернет на айфоне 5s</a></h6> <p>Статьи и ЛайфхакиЕсли вы планируете использовать телефон не только для звонков, но и для выхода в Глобальную...</p> </div> </article> </li> </ul> </div> <!-- /next_cat --> <div class="widget kp-article-list-widget"> <h6 class="widget-title">Компьютеры</h6> <ul class="clearfix"> <li> <article class="entry-item standard-post"> <header> <span class="entry-date clearfix"><span class="entry-icon icon-time"></span><span>2023-08-14 02:29:29</span></span> </header> <div class="entry-thumb hover-effect"> <a href="/iron/skype-portable---chto-eto-i-kak-skachat-kak-sozdat-portativnyi-skaip-dlya-windows/"><img src="/uploads/4af73c70b453c729f388cff24f5700db.jpg" alt="Как создать портативный Скайп для Windows Скайп рабочая портативная версия для xp" / loading=lazy></a> </div> <div class="entry-content"> <h6 class="entry-title"><a href="/iron/skype-portable---chto-eto-i-kak-skachat-kak-sozdat-portativnyi-skaip-dlya-windows/">Как создать портативный Скайп для Windows Скайп рабочая портативная версия для xp</a></h6> <p>Skype Portable - это портативная (Portable) версия всемирно известного бесплатного мессенжера. Бесплатная...</p> </div> </article> </li> <li> <article class="entry-item standard-post"> <header> <span class="entry-date clearfix"><span class="entry-icon icon-time"></span><span>2023-08-13 02:55:09</span></span> </header> <div class="entry-thumb hover-effect"> <a href="/internet/ego-posle-chego-avtorizuites-s-pomoshch-avtomaticheskoe-sozdanie/"><img src="/uploads/6104a4c8d6a47b2594520374b74935a9.jpg" alt="Его после чего авторизуйтесь с" / loading=lazy></a> </div> <div class="entry-content"> <h6 class="entry-title"><a href="/internet/ego-posle-chego-avtorizuites-s-pomoshch-avtomaticheskoe-sozdanie/">Его после чего авторизуйтесь с</a></h6> <p>При входе посетителей на сайт, в систему банковских платежей, требуется авторизоваться. Что такое авторизация?...</p> </div> </article> </li> </ul> </div> <!-- /next_cat --> <div class="widget kp-article-list-widget"> <h6 class="widget-title">Android</h6> <ul class="clearfix"> <li> <article class="entry-item standard-post"> <header> <span class="entry-date clearfix"><span class="entry-icon icon-time"></span><span>2023-08-13 02:55:09</span></span> </header> <div class="entry-thumb hover-effect"> <a href="/windows/kak-otmenit-chtob-sam-komp-ne-vyklyuchalsya-kak-sdelat-tak-chtoby-kompyuter-ne/"><img src="/uploads/28326975f3e55b19e083ace26ea0a393.jpg" alt="Как сделать так, чтобы компьютер не уходил в спящий режим" / loading=lazy></a> </div> <div class="entry-content"> <h6 class="entry-title"><a href="/windows/kak-otmenit-chtob-sam-komp-ne-vyklyuchalsya-kak-sdelat-tak-chtoby-kompyuter-ne/">Как сделать так, чтобы компьютер не уходил в спящий режим</a></h6> <p>Подробности Категория: Компьютеры, ПО Опубликовано 16.03.2013 12:03 После установки Windows на ноутбук, по...</p> </div> </article> </li> <li> <article class="entry-item standard-post"> <header> <span class="entry-date clearfix"><span class="entry-icon icon-time"></span><span>2023-08-12 03:05:16</span></span> </header> <div class="entry-thumb hover-effect"> <a href="/ios/udalenie-virusa-msn-udalit-msn-homepage-iz-brauzera-instrukciya-kak/"><img src="/uploads/ac288aba54aa4cc6ab66e1988ae4d3a6.jpg" alt="Удалить MSN Homepage из браузера (Инструкция) Как убрать msn из браузера" / loading=lazy></a> </div> <div class="entry-content"> <h6 class="entry-title"><a href="/ios/udalenie-virusa-msn-udalit-msn-homepage-iz-brauzera-instrukciya-kak/">Удалить MSN Homepage из браузера (Инструкция) Как убрать msn из браузера</a></h6> <p>MSN вирус — это опасный троян, распространяемый с помощью MSN Messenger. По существу, можно сказать, что этому...</p> </div> </article> </li> </ul> </div> <!-- /next_cat --> </div> <div class="clear"></div> </div> <div id="left-sidebar" class="widget-area-1"> <div class="widget kp-search-widget"> <form action="search-results.html" class="search-form clearfix" method="get" id="searchform" method="get"> <input type="text" value="" name="search" class="search-text"> <input type="submit" value="" name="submit" class="search-submit"> </form> </div> <div class="widget kp-article-list-widget"> <h6 class="widget-title">Новое</h6> <ul class="clearfix"> <li> <article class="entry-item standard-post"> <header> <span class="entry-date clearfix"><span class="entry-icon icon-time"></span><span>2023-08-12 03:05:16</span></span> <h6 class="entry-title"><a href="/windows/istoriya-statusov-v-drug-vokrug-podrobno-o-tom-kak-udalit/">Подробно о том, как удалить страницу в «Друг Вокруг» навсегда</a></h6> </header> <div class="entry-content"> <p>Социальная сеть знакомств, в которой уже зарегистрировано свыше 60 миллионов пользователей. Тут можно найди...</p> </div> </article> </li> <li> <article class="entry-item standard-post"> <header> <span class="entry-date clearfix"><span class="entry-icon icon-time"></span><span>2023-08-11 03:07:13</span></span> <h6 class="entry-title"><a href="/internet/upravlyaem-kulerom-termokontrol-ventilyatorov-na-praktike-ponizhaem-shum-i/">Понижаем шум и обороты кулера Регулятор скорости вращения кулера 12 в схема</a></h6> </header> <div class="entry-content"> <p>Основной проблемой вентиляторов, которые охлаждают ту или иную часть компьютера, является повышенный уровень...</p> </div> </article> </li> <li> <article class="entry-item standard-post"> <header> <span class="entry-date clearfix"><span class="entry-icon icon-time"></span><span>2023-08-10 03:18:27</span></span> <h6 class="entry-title"><a href="/blog/kakie-est-besplatnye-operacionnye-sistemy-aktualnaya-os-dlya-starogo-pk-ili/">Актуальная ос для старого пк или нетбука Мини операционные системы</a></h6> </header> <div class="entry-content"> <p>Пользователи персональных компьютеров отдают предпочтение конкретным вариантам Windows. Универсальность и...</p> </div> </article> </li> <li> <article class="entry-item standard-post"> <header> <span class="entry-date clearfix"><span class="entry-icon icon-time"></span><span>2023-08-09 03:22:43</span></span> <h6 class="entry-title"><a href="/ios/kak-narisovat-animaciyu-v-fotoshope-cs6-sozdanie-gif-animacii-iz-video-v-photoshop/">Создание GIF-анимации из видео в Photoshop</a></h6> </header> <div class="entry-content"> <p>Доброго вечера, дорогие подписчики и просто читатели моего блога! Готовы ли Вы узнать о том, как “оживить”...</p> </div> </article> </li> <li> <article class="entry-item standard-post"> <header> <span class="entry-date clearfix"><span class="entry-icon icon-time"></span><span>2023-08-09 03:22:43</span></span> <h6 class="entry-title"><a href="/gadgets/kak-umenshit-razmer-kartinki-izobrazheniya-maksimalnoe/">Как уменьшить размер картинки, изображения?</a></h6> </header> <div class="entry-content"> <p>Поводом для написания статьи послужили рекомендации Google по оптимизации сайта с целью повышения дохода в...</p> </div> </article> </li> <li> <article class="entry-item standard-post"> <header> <span class="entry-date clearfix"><span class="entry-icon icon-time"></span><span>2023-08-08 03:11:05</span></span> <h6 class="entry-title"><a href="/iron/chto-takoe-gorizontalnaya-inversiya-vorld-of-tanks-kto-igraet-s-inversiei-myshi/">Кто играет с инверсией мыши?</a></h6> </header> <div class="entry-content"> <p>Как убрать инверсию? Ответ мастера: Инверсия мыши является своеобразным рабочим состоянием, когда она...</p> </div> </article> </li> <li> <article class="entry-item standard-post"> <header> <span class="entry-date clearfix"><span class="entry-icon icon-time"></span><span>2023-08-20 01:40:27</span></span> <h6 class="entry-title"><a href="/windows/kak-nastroit-uvedomleniya-na-vyklyuchennom-ekrane-kak-otklyuchit/">Как отключить уведомления на Android?</a></h6> </header> <div class="entry-content"> <p>Устанавливая каждое приложение, владелец смартфона соглашается с запросами на доступ к определенным данным и...</p> </div> </article> </li> </ul> </div> <div class="widget kp-article-list-widget"> <h6 class="widget-title">Популярное</h6> <ul class="clearfix"> <li> <article class="entry-item standard-post"> <header> <span class="entry-date clearfix"><span class="entry-icon icon-time"></span><span>2023-08-20 01:40:27</span></span> </header> <div class="entry-thumb hover-effect"> <a href="/android/obzor-kross-platformennyh-menedzherov-parolei-pochemu-ya-ne-polzuyus/"><img src="/uploads/5455a4f23f68ef4c56fb3ed36b362952.jpg" alt="Почему я не пользуюсь менеджерами паролей Менеджер паролей на своем сервере" / loading=lazy></a> </div> <div class="entry-content"> <h6 class="entry-title"><a href="/android/obzor-kross-platformennyh-menedzherov-parolei-pochemu-ya-ne-polzuyus/">Почему я не пользуюсь менеджерами паролей Менеджер паролей на своем сервере</a></h6> <p>С тем, что количество паролей, которые надо запомнить, точно больше, чем места для них в голове, столкнулись,...</p> </div> </article> </li> <li> <article class="entry-item standard-post"> <header> <span class="entry-date clearfix"><span class="entry-icon icon-time"></span><span>2023-08-19 01:59:09</span></span> </header> <div class="entry-thumb hover-effect"> <a href="/windows/rodnye-draivera-dlya-noutbuka-lenovo-g770-ustanovka-draivera-dlya-noutbuka-lenovo-g770/"><img src="/uploads/af0cd1d11b3849d652378485cb267b8f.jpg" alt="Установка драйвера для ноутбука Lenovo G770" / loading=lazy></a> </div> <div class="entry-content"> <h6 class="entry-title"><a href="/windows/rodnye-draivera-dlya-noutbuka-lenovo-g770-ustanovka-draivera-dlya-noutbuka-lenovo-g770/">Установка драйвера для ноутбука Lenovo G770</a></h6> <p>Для успешной работы с любым оборудованием требуется наличие драйверов и своевременное их обновление. В случае с...</p> </div> </article> </li> </ul> </div> </div> <div class="clear"></div> </div> <div id="bottom-sidebar"> <nav id="bottom-nav" class="text-center"> <ul id="bottom-menu" class="clearfix"> <li><a href="/category/android/">Android</a></li> <li><a href="/category/ios/">Ios</a></li> <li><a href="/category/windows/">Windows</a></li> <li><a href="/category/blog/">Блог</a></li> <li><a href="/category/gadgets/">Гаджеты</a></li> </ul> </nav> <p id="back-top"> <a href="#top">Вверх</a> </p> </div> <footer id="kp-page-footer" class="text-center"> <p id="copyright">Copyright © 2024 aimgames.ru </p> <p>Гаджеты. Андроид. Интернет. Компьютеры. Железо</p> </footer> </div> <script src="templates/ultramag/js/jquery-1.10.2.min.js"></script> <script src="templates/ultramag/js/superfish.js"></script> <script src="templates/ultramag/js/bootstrap.min.js"></script> <script src="templates/ultramag/js/jquery.carouFredSel-6.2.1-packed.js"></script> <script src="templates/ultramag/js/jquery.flexslider-min.js"></script> <script src="templates/ultramag/js/jquery.prettyPhoto.js"></script> <script src="templates/ultramag/js/jquery.validate.min.js"></script> <script src="templates/ultramag/js/jquery.form.js"></script> <script src="templates/ultramag/js/jquery.timeago.js"></script> <script src="templates/ultramag/js/tweetable.jquery.min.js"></script> <script src="templates/ultramag/js/jquery.mousewheel.js"></script> <script src="templates/ultramag/js/modernizr-transitions.js"></script> <script src="templates/ultramag/js/jquery.masonry.min.js"></script> <script src="templates/ultramag/js/jquery.isotope.min.js"></script> <script src="templates/ultramag/js/custom.js" charset="utf-8"></script> <script src="https://yastatic.net/share2/share.js" async="async"></script> </body> </html>