Html кодировки – Кодировки символов в HTML — это… Что такое Кодировки символов в HTML?

Содержание

Кодировки символов в HTML — Википедия

Язык гипертекстовой разметки HTML используется с 1991 года, но версия 4.0 (1997) была первой, где представление символов, отличных от ASCII (то есть, английского языка), достаточно стандартизировано.

Определение кодировки средствами HTTP

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

При передаче документа HTML по HTTP (скажем, в WWW) набор символов документа задаётся в заголовке HTTP, например для текста в русском варианте кодировки КОИ-8:

Content-Type: text/html; charset=koi8-r

Информацию о кодировке можно вставить в сам документ HTML, используя тег meta в раздел <head> HTML-документа. Например, в случае кодировки UTF-8 тег meta будет выглядеть следующим образом:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

В стандарте для языка HTML 5 мета тег информирующий браузер о кодировке страницы записывается отлично от правил принятых в более ранних стандартах HTML. Так пример приведенный выше в HTML 5 будет выглядеть следующим образом:

<meta charset="utf-8" />

Такой способ неплохо работает для файлов, но при выдаче документа по HTTP его успешность будет зависеть от действий HTTP-сервера, пожелает ли он указать эту информацию в заголовке. Согласно HTTP/1.1, отсутствие указания charset в заголовке приравнивается к использованию набора символов ISO 8859-1.

То есть, приоритетным фактором для браузера по вопросу «в какой кодировке отображать документ» может являться переданный сервером заголовок. В этом случае браузер обязан игнорировать соответственные директивы в теге META.

Настройка заголовков, передаваемых сервером

1. При использовании сервера Apache можно использовать файл .htaccess. В нём нужно указать директивы серверу касательно кодировок по умолчанию: AddDefaultCharset UTF-8 В приведенном примере кодировкой по умолчанию в заголовках сервера будет назначена UTF-8.

В случае кодировки windows-1251: AddDefaultCharset windows-1251

Данные директивы файла .htaccess наиболее часто применимы. Но в каждом отдельно взятом случае могут и не сработать. Все зависит от настроек сервера.

Есть менее популярные директивы, действие которых направлено на отключение заголовков сервера. При их отключении браузер будет выбирать кодировку в зависимости от указаний в теге МЕТА.

charsetdisable on

AddDefaultCharset Off

Зачастую, проблемы отображения кодировок связаны с тем, что устаревшее ПО для Web (например, сайт, CMS и т. д.) использует национальную кодировку в то время как сервер настроен для работы с UTF-8. В этом случае, принудительно указывается язык, кодировка необходимая ПО (например, cp1251) для web-сервера, и (как правило) интерпретатора PHP.

DefaultLanguage ru

AddDefaultCharset windows-1251

php_value default_charset "cp1251"

2. Директива php-кодом: В начале php-файла можно указать php-код, который передаст инструкции браузеру по выбору кодировки: <?php header('Content-type: text/html; charset=utf-8')?>

Определение кодировки средствами XML

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

<?xml version="1.0" encoding="utf-8"?>

Мнемоники HTML и коды Unicode

Символы, имеющие специальные названия (см. Мнемоники в HTML), могут быть закодированы в виде &entity;, например:

  • «&agrave;» → «à»
  • «&alpha;» → «α»
  • «&lt;» → «<»
  • «&gt;» → «>»
  • «&nbsp;» → « » (неразрывный пробел)

В то же время все символы могут быть также закодированы в числовом обозначении с использованием десятичного (&#DD;) или шестнадцатеричного (&#xHHHH;) кода Unicode.

  • «&#224;» = «&#xE0;» → «à»
  • «&#945;» = «&#x3B1;» → «α»

Правильный браузер будет отображать символы, заданные вышеназванным путём, независимо от текущей кодировки документа и, в частности, даже в случае, когда такие символы ею не могут быть охвачены. Таким образом, возможен японский текст в HTML-документе, написанном в Windows-1251, и т. д.

Атрибут charset тега | HTML справочник

HTML тег <meta>

Значение и применение

Тег <meta> позволяет сообщить браузеру посетителя, какой набор символов и какую кодировку необходимо установить на веб-странице. Атрибут charset (HTML тега <meta>) задает кодировку символов для HTML документа. Атрибут charset может быть переопределен в определенном месте с помощью глобального атрибута lang для любого элемента.

Стандарт HTML 5 не запрашивает конкретную кодировку, но дает рекомендацию использовать кодировку UTF-8. Не рекомендуется использовать кодировки ASCII, CESU-8, UTF-7, BOCU-1, SCSU и UTF-32 по различным причинам.


Считается хорошей практикой, и настоятельно рекомендуется определять набор символов (кодировку), используя атрибут charset. Атрибут charset является лишь частью алгоритма определения кодировки страницы браузером. Рекомендуется указывать кодировку символов первым <meta> элементом (если используется несколько). Обратите внимание, что для одного документа указывается только одна кодировка.


Поддержка браузерами

Синтаксис:

<meta charset = "character_set (кодировка)">

Значения атрибута

ЗначениеОписание
character_setЗадает кодировку для HTML-документа.

Распространенные значения:

  • UTF-8 - кодировка для Unicode
  • ISO-8859-1 - кодировка символов для латиницы.

В теории, любая кодировка может быть использована, но ни один браузер не понимает их все. Используя более распространенную кодировку символов, увеличивает шанс того, что браузер будет её понимать. Полный перечень кодировок доступен на сайте iana.org.

Отличия HTML 4.01 от HTML 5

Атрибут считается новым в HTML 5. До стандарта HTML 5 значение кодировки страницы указывалось следующим образом:
<meta http-equiv = "Content-Type" content = "text/html; charset = character_set">

Пример использования

<!DOCTYPE html>
<html>
	<head>
		<meta charset = "utf-8" >  <!-- задаем кодировку документа UTF-8 -->
		<title>Пример использования атрибута charset тега <meta></title>
	</head>
	<body>
		<h3> Это заголовок.</h3>
		<p>Это параграф. </p>
	</body>
</html>

В данном примере мы задали кодировку документа UTF-8 с использованием элемента <meta> и атрибута charset. Кодировка UTF-8 одна из общепринятых и стандартизированных кодировок текста, которая позволяет хранить символы Юникода.

HTML тег <meta>

Кодировка HTML уроки для начинающих академия



Для правильного отображения HTML-страницы веб-обозреватель должен знать, какой набор символов (кодировка) следует использовать.


Что такое кодировка символов?

ASCII был первым стандартом кодировки символов (также называемым набором символов). ASCII определены 128 различных буквенно-цифровых символов, которые могут быть использованы в Интернете: цифры (0-9), английские буквы (a-Z), и некоторые специальные символы, как! $ +-() @ < >.

ANSI (Windows-1252) был оригинальный набор символов Windows, с поддержкой 256 различных кодов символов.

ISO-8859-1 был стандартным набором символов для HTML 4. Этот набор символов также поддерживает 256 различные коды символов.

Так как ANSI и ISO-8859-1 были настолько ограничены, HTML 4 также поддерживал UTF-8.

UTF-8 (Юникод) охватывает почти все символы и символы в мире.

Кодировка символов по умолчанию для HTML5 — UTF-8.


Атрибут HTML-кодировки

Для правильного отображения HTML-страницы веб-обозреватель должен знать кодировку, используемую на странице.

Это указано в теге

<meta> :

Для HTML4:

<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">

Для HTML5:

<meta charset="UTF-8">


Если браузер обнаруживает ISO-8859-1 на веб-странице, по умолчанию используется ANSI, так как ANSI идентичен ISO-8859-1 за исключением того, что ANSI имеет 32 дополнительных символов.



Различия между наборами символов

В следующей таблице показаны различия между наборами символов, описанными выше:

Numb ASCII ANSI 8859 UTF-8 Описание
32 space
33!!!!exclamation mark
34""""quotation mark
35####number sign
36$$$$dollar sign
37%%%%percent sign
38&&&&ampersand
39''''apostrophe
40((((left parenthesis
41))))right parenthesis
42****asterisk
43++++plus sign
44,,,,comma
45

Кодировка - Проблемы с кодировкой - utf-8 - 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 вместо этих символов вот что: > <v^. А еще в utf-8 есть знак "евро"; а еще utf-8 позволяет в одном HTML-файле совмещать кучу разнообразных специфических символов, используемых в таких языках как грузинский, иврит, китайский, японский; а еще utf-8 в кодировках HTML — это правило хорошего тона.

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

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

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

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

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

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

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

А у этого файла HTML кодировка utf-8

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

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

Кодировка будущего HTML-файла будет utf-8

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

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

Пример перекодирования файла из кодировки windows-1251 в utf-8

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

Что касается 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, который запускается из меню ModifyPage Properties (Ctrl + J).

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

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

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

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

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

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

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

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

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

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

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


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<body> Ну и т.д.

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 header('Content-type: text/html; charset=utf-8')?>

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

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

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

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

С уважением, Андрей Морковин.

HTML meta: keywords, description | Указание кодировки

Теги <meta> используются для предоставления информации (метаданных) о веб-странице, метаданные не отображаются на веб-странице, а дают либо какие-то указания браузеру, либо предоставляют дополнительную информацию для поисковых систем:


<head>
  <meta charset="utf-8">
  <title>Не является мета тегом, но должен присутствовать на каждой веб-странице</title>
  <meta name="keywords" content="ключевые слова">
  <meta name="description" content="Краткое описание">
</head>

В нашем примере мы использовали три элемента <meta>: первый указывает браузеру кодировку HTML-документа, два других мета тега предназначены для предоставления информации о содержимом веб-страницы для поисковых систем. Далее мы рассмотрим каждый из них подробнее.

Примечание: теги <meta> должны располагаться в элементе <head>.

Кодировка

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

Для указания кодировки используется тег <meta> с атрибутом charset, который рекомендуется располагать в качестве первого элемента внутри <head>:


<head>
  <meta charset="utf-8">
</head>

Примечание: UTF-8 является универсальной кодировкой, поддерживающей большинство языков и спецсимволов.

keywords (ключевые слова)

У любого сайта есть набор ключевых слов и словосочетаний, по которым поисковые системы ищут нужные ресурсы в сети. Именно эти слова и должны составлять содержимое keywords.

Самый простой способ подобрать нужные ключевые слова для текущей страницы - это определить по каким словам вы сами стали бы искать материал, представленный на ней? Вот это и будут нужные ключевые слова. Пример:


<meta name="keywords" content="мета тег, meta, метаданные, keywords, description">

Ключевые слова указываются через запятую или пробел и могут быть написаны в любом регистре. Рекомендуется указывать не более 10-15 ключевых слов или словосочетаний.

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

description (краткое описание)

Значение description используется для краткого описания содержимого, расположенного на текущей странице. Рекомендуемая максимальная длина такого описания не должна превышать 180 символов:


<meta name="description" content="Описание содержимого на данной странице">

Краткое описание страницы может быть использовано поисковыми система на странице с результатами поиска под названием страницы и URL-адреса:

отображение description в результатах поиска

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

отображение description при добавление ссылки в соц сетях

При составлении краткого описания следует учитывать следующие моменты:

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

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

Тег <title>

Тег <title> является частью метаданных и используется для указания заголовка страницы. Заголовок страницы можно сравнить с названием главы книги, так как он должен говорить пользователям и поисковым системам об информации представленной на странице.

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

тег title

Тег <title> является одним из наиболее важных тегов на странице. Рассмотрим небольшой список рекомендаций, которых нужно придерживаться для написания оптимизированного заголовка для поисковых систем:

  • Длина заголовка не должна превышать 70 символов, включая пробелы.
  • Самые важные ключевые слова нужно располагать первыми в заголовке, т.е. поисковые системы будут определять ценность ключевых слов по их очередности в заголовке: первое будет считаться наиболее важным, последнее - наименее.
  • Для разделения ключевых слов или фраз лучше использовать вертикальную черту "|". Знаки пунктуации, подчеркивания и другие символы разделители желательно не использовать или использовать в тех случаях, когда ключевое слово или фразу без них написать нельзя.
  • Старайтесь исключить из заголовка разные частицы речи (например: и, если, но, потом и т.д.).
  • Можно включить в заголовок название сайта или фирмы, если название является частью ключей фразы, или если это бренд, видя который, пользователи будут заходить именно на ваш сайт.
  • Не дублируйте текст тега <title>, заголовок должен быть уникальным для каждой страницы сайта.
  • Заголовок должен быть актуален для страницы, он должен описывать то, что в данный момент представлено на странице, например его можно написать так:

<title>Тема страницы|Ключевые слова|Название компании или сайта</title>
<!-- или так -->
<title>Ключевые слова|О нас|Название компании или сайта</title>

Проблемы с кодировкой на сайте

Вы здесь: Главная - PHP - PHP Основы - Проблемы с кодировкой на сайте

Проблемы с кодировкой на сайте

Одной из самых частых проблем, с которой сталкивается начинающий Web-мастер (да и не только начинающие), это проблемы с кодировкой на сайте. Даже у меня постоянно появляется при создании сайтов "абракадабра". Но, благо, я прекрасно знаю, как эту проблему решить, поэтому всё привожу в порядок в течение нескольких секунд. И в этой статье я постараюсь научить Вас также быстро решать проблемы, связанные с кодировкой на сайте.

Первое, что стоит отметить, это то, что все проблемы с появлением "абракадабры" связаны с несовпадением кодировки документа и кодировки, выставляемой браузером. Допустим, документ в windows-1251, а браузер почему-то выставляет UTF-8. А уже источником такого несовпадения могут быть следующие причины.

Первая причина

Неправильно прописан мета-тег content-type. Будьте внимательны, в нём всегда должна находиться та кодировка, в котором написан Ваш документ.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Вторая причина

Вроде бы, мета-тег прописан так, как Вы хотите, и браузер выставляет именно то, что Вы хотите, но почему-то всё равно с кодировкой проблемы. Здесь, почти наверняка, виновато то, что сам документ имеет отличную кодировку. Если Вы работаете в Notepad++, то внизу справа есть название кодировки текущего документа (например, ANSI). Если Вы ставите в мета-теге UTF-8, а сам документ написан в ANSI, то сделайте преобразование в UTF-8 (через меню "Кодировки" и пункт "Преобразовать в UTF-8 без BOM").

Третья причина

Мета-тег написан правильно, кодировка документа верная, но браузер почему-то настойчиво выбирает другую кодировку. Это уже связано с настройками сервера. Способ решения данной проблемы можно прочитать здесь: как задать кодировку в htaccess.

Четвёртая причина

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

SET NAMES 'utf8'

Вместо "utf8" может стоять другая кодировка. После этого все данные из базы должны выходить в правильной кодировке.

В данной статье я, надеюсь, разобрал, как минимум, 90% проблем, связанных с появлением "абракадабры" на сайте. Теперь Вы должны расправляться с такой популярной и простой проблемой, как неправильная кодировка, в два счёта.

  • Проблемы с кодировкой на сайте Создано 21.05.2012 13:43:04
  • Проблемы с кодировкой на сайте Михаил Русаков
Предыдущая статья Следующая статья

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:
    <a href="https://myrusakov.ru" target="_blank"><img src="https://myrusakov.ru/images/button.gif" alt="Как создать свой сайт" /></a>

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:
    <a href="https://myrusakov.ru" target="_blank">Как создать свой сайт</a>

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):
    [URL="https://myrusakov.ru"]Как создать свой сайт[/URL]

Как изменить кодировку HTML страницы?

В этой статье мы расскажем о том, как изменить кодировку страницы так, чтобы русский символы отображались нормально, а не как различные кракозябры.

Если вы открываете страницу, а там на месте кириллицы отображаются знаки вопроса:

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

То для того, чтобы вернуть страницу к нормальному виду вам нужно проверить две вещи:

  1. Правильная ли кодировка стоит у самого файла html или php страницы
  2. Правильная ли кодировка стоит в мета-тэгах страницы

Бывает так же ещё проблема в сервере, на котором отображается страница, там тоже может стоять неправильная кодировка, но этот случай мы разбирать не будем.

Если у вас стоит неправильная кодировка у самого файла

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

Здесь говориться примерно следующее...

"Документ имеет не корректную кодировку, при сохранении файла некоторые символы будут сохранены не верно. Чтобы решить проблему поменяйте кодировку файла на UTF-8"

Такая проблема может коснутся любого файла, не обязательно HTML, но и, например, CSS или JS.

Для того, чтобы изменить кодировку файла, необходимо открыть его в стандартном Блокноте, который есть на всех Windows ОС. При сохранении в выпадающем списке выбрать кодировку UTF-8, изменить тип файла на Все файлы и подтвердить сохранении. Теперь всё это же но в картинках:

 

Не правильная кодировка стоит в мета-тэгах страницы

Где посмотреть кодировку в мета-тэгах? Открываем код страницы и ищем в разделе <head> такую строчку:

<head>
  <!-- Тут могут быть и другие тэги -->
  <meta charset="utf-8">
  <!-- Тут могут быть и другие тэги -->
</head>

Как вы уже поняли, нас интересует строка <meta charset="utf-8">, она то и задает кодировку документа, если у вас отсутствует этот тег или в качестве значения атрибута charset стоит какое-то другое значение, то измените его на utf-8.

 

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *