A HTML hiperszöveg jelölőnyelvet 1991 óta használják, de a 4.0 (1997) verzió volt az első, ahol a nem ASCII karakterek (vagyis az angol) megjelenítése meglehetősen szabványos.
A HTML oldal böngészők általi megjelenítésekor az utóbbiaknak meg kell adni, hogy az oldal milyen kódolásban van elmentve. Ehhez két módszert használhat:
HTML-dokumentum HTTP -n keresztüli továbbításakor (mondjuk a WWW -re ) a dokumentum karakterkészletét a HTTP-fejlécben kell megadni , például a KOI-8 kódolás orosz verziójában lévő szöveghez :
Tartalom típusa: szöveg/html; charset=koi8-rA kódolási információk beilleszthetők magába a HTML-dokumentumba a HTML -dokumentum metaegy részében található címke használatával <head>. Például UTF-8 kódolás esetén a címke metaígy néz ki:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />A HTML 5 nyelv szabványában a böngészőt az oldal kódolásáról tájékoztató metacímke a korábbi HTML szabványokban alkalmazott szabályoktól eltérően íródik. Tehát a fenti példa a HTML 5-ben így nézne ki:
<meta charset="utf-8" />Ez a módszer jól működik . A HTTP/1.1 szerint, ha nem adunk meg karakterkészletet a fejlécben, az megfelel az ISO 8859-1 karakterkészlet használatának .
Vagyis a böngésző számára a "milyen kódolásban jelenítse meg a dokumentumot" kérdésben a szerver által továbbított fejléc lehet az elsődleges tényező. Ebben az esetben a böngészőnek figyelmen kívül kell hagynia a META tag megfelelő utasításait.
1. Az Apache szerver használatakor használhatja a .htaccess fájlt . Ebben direktívákat kell megadnia a szervernek az alapértelmezett kódolásokkal kapcsolatban: AddDefaultCharset UTF-8 A fenti példában az UTF-8 lesz hozzárendelve alapértelmezett kódolásként a szerver fejléceiben.
Windows-1251 kódolás esetén : AddDefaultCharset windows-1251
Ezek a .htaccess fájl direktívák a leggyakrabban használtak. De minden egyes esetben előfordulhat, hogy nem működnek. Minden a szerver beállításaitól függ.
Vannak kevésbé népszerű direktívák, amelyek célja a kiszolgálófejlécek letiltása. Ha le vannak tiltva, a böngésző a META tag jelzései alapján választja ki a kódolást.
charsetdisable on
AddDefaultCharset Off
A kódolási megjelenítési problémák gyakran abból adódnak, hogy a régebbi webszoftverek (például egy webhely , CMS stb.) a nemzeti kódolást használják, miközben a szerver UTF-8-as működésre van beállítva. Ebben az esetben kikényszeríti a nyelvet, a szoftver által megkívánt kódolást (például cp1251) a webszerverhez, és (általában) a PHP értelmezőt.
DefaultLanguage ru
AddDefaultCharset windows-1251
php_value default_charset "cp1251"
2. PHP-kód direktíva: A php-fájl elején megadhat egy php-kódot, amely utasításokat küld a böngészőnek a kódolás kiválasztásához: <?php header('Content-type: text/html; charset=utf-8')?>
Az XHTML-ben a kódolást az XML preambulumában is megadhatja , például:
<?xml version="1.0" encoding="utf-8"?>A speciális nevekkel rendelkező karakterek (lásd: HTML-mnemonika ) kódolhatók &entity;például:
Ugyanakkor az összes karakter numerikus jelöléssel is kódolható Unicode decimális (&#DD;) vagy hexadecimális (&#xHHHH;) kódokkal .
A megfelelő böngésző a fenti módon megadott karaktereket jeleníti meg, függetlenül a dokumentum aktuális kódolásától, és különösen abban az esetben, ha az ilyen karaktereket nem fedheti le. Így a japán szöveg lehetséges a Windows-1251-ben írt HTML-dokumentumban stb.
Karakterkódolások | |
---|---|
Történelmi kódolások | kiegészítő komp. szemafor (Makarov) morze Bodo MTK-2 comp. 6 bites SCP RADIX-50 EBCDIC KOI-7 ISO 646 |
modern 8 bites megjelenítés | szimbólumok ASCII nem ASCII 8 bites kódlapok cirill betűs KOI-8 Alapvető kódolás MacCyrillic ISO 8859 1 (lat.) 2 3 négy 5 (kir.) 6 7 nyolc 9 tíz tizenegy 12 13 tizennégy 15 (€) 16 ablakok 1250 1251 (kir.) 1252 1253 1254 1255 1256 1257 1258 WGL4 IBM és DOS 437 850 852 855 866 "alternatív" MIC |
Többbájt | hagyományos DBCS GB2312 HTML unicode UTF-32 UTF-16 UTF-8 karakterlista cirill betűs |
felhasználói felület billentyűzetkiosztás locale soros fordítás betűtípus transzliteráció egyedi betűtípusok segédprogramok ikonv rekord |