Атрибут charset тега <a> — кодування за посиланням
Атрибут charset визначає символьний набір звʼязаного документа (документ, на який посилає атрибут href).
Загальний опис
автор: NagarD
Синтаксис
<a charset="value">
Атрибут charset може отримувати єдине значення:
-
charaster_set -
Символьний набір звʼязаного документу.
Загальні набори символів:
- UTF-8 - Кодування символів для Unicode;
- ISO-8859-1 - Кодування символів для латинського алфавіту;
- та інші.
Теоретично, будь-який символ-набір може бути використаний, але жоден браузер не розуміє кожен з них. Чим ширше символьний набір використовується, тим вища ймовірність того, що браузер зрозуміє це.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 15 | 12 | ≤11 |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4 | 18 | 4 | 1 |
Приклади
+ запропонувати свій приклад у пісочниці
charset на посиланні підказував кодування документа за адресою. У HTML5 атрибут вилучено — браузери його ігнорують, а кодування оголошує сам цільовий документ. Посилання при цьому працює як звичайне.
<a charset="UTF-8" href="https://css.in.ua">css.in.ua</a>
Той самий рядок «Привіт, світе», прочитаний трьома способами: правильно, як windows-1251 замість UTF-8 і навпаки. Обидва зразки каші — не вигадані, а зняті з браузера. Нижче — єдине місце, де це лікується, і поруч запис, який не лікує нічого.
HTML
<table class="enc">
<caption>Одні й ті самі байти, три способи прочитати</caption>
<tr><th scope="col">Як браузер прочитав</th><th scope="col">Що видно на екрані</th></tr>
<tr><td>UTF-8 — так, як файл і збережено</td><td class="good">Привіт, світе</td></tr>
<tr><td>windows-1251 замість UTF-8</td><td class="bad">РџСЂРёРІС–С‚, світе</td></tr>
<tr><td>UTF-8 замість windows-1251</td><td class="bad">�����, ����</td></tr>
</table>
<p class="cap">Лікується це в одному місці — на початку head. Рядок мусить
уміститися в перші 1024 байти документа:</p>
<pre class="code good-box"><!DOCTYPE html>
<html lang="uk">
<head>
<meta charset="utf-8">
<title>Сторінка</title>
</head></pre>
<p class="cap">А ось це не робить нічого — ні з таким значенням, ні з будь-яким
іншим. Браузер атрибут просто не читає:</p>
<pre class="code bad-box"><a href="/stara.html" charset="windows-1251">стара сторінка</a></pre>
<p class="cap">І пам'ятайте про третього учасника: заголовок сервера сильніший
за meta. Якщо він каже інше — переможе він.</p>
<pre class="code">Content-Type: text/html; charset=utf-8</pre>
CSS
table {
width: 520px;
max-width: 100%;
margin-bottom: 20px;
border-collapse: collapse;
}
caption {
margin-bottom: 6px;
font-weight: 600;
text-align: left;
}
th,
td {
padding: 7px 10px;
border: 1px solid #b9c6d8;
text-align: left;
}
th {
background: #eef3fb;
}
.good {
color: #2b6d3a;
background: #f3fbf4;
font-weight: 600;
}
.bad {
color: #a02a2a;
background: #fff4f4;
font-weight: 600;
}
.cap {
max-width: 560px;
margin: 18px 0 6px;
}
.code {
max-width: 560px;
margin: 0;
padding: 10px 12px;
border-left: 6px solid #c9ced6;
background: #f6f9ff;
font: 13px/1.5 ui-monospace, monospace;
overflow-x: auto;
}
.good-box {
border-left-color: #3a9a4f;
}
.bad-box {
border-left-color: #d64545;
background: #fff4f4;
color: #a02a2a;
}
Різниця між HTML 4.01 та HTML5
HTML атрибут charset більше не підтримується у HTML5.
Коментарі
Коментарів ще немає — будьте першим!