HTML - hypertextmarkeringsspråket har använts sedan 1991, men version 4.0 (1997) var den första där representationen av icke- ASCII-tecken (det vill säga engelska) är ganska standardiserad.
När en HTML-sida visas av webbläsare måste den senare få veta i vilken kodning sidan sparas. För att göra detta kan du använda två metoder:
När du överför ett HTML-dokument via HTTP (säg till WWW ), anges dokumentets teckenuppsättning i HTTP-huvudet , till exempel för text i den ryska versionen av KOI-8- kodningen :
Content-Type: text/html; charset=koi8-rKodningsinformation kan infogas i själva HTML-dokumentet genom att använda en tagg metai en del av <head>HTML-dokumentet. Till exempel, i fallet med UTF-8-kodning, metaskulle taggen se ut så här:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />I standarden för HTML 5-språket skrivs metataggen som informerar webbläsaren om sidkodningen annorlunda än reglerna som antagits i tidigare HTML-standarder. Så exemplet ovan i HTML 5 skulle se ut så här:
<meta charset="utf-8" />Denna metod fungerar bra för . Enligt HTTP/1.1 motsvarar det att inte specificera en teckenuppsättning i en rubrik med att använda ISO 8859-1- teckenuppsättningen .
Det vill säga, prioritetsfaktorn för webbläsaren på frågan "i vilken kodning för att visa dokumentet" kan vara rubriken som sänds av servern. I det här fallet måste webbläsaren ignorera motsvarande direktiv i META-taggen.
1. När du använder Apache -servern kan du använda .htaccess -filen . I den måste du ange direktiv till servern angående standardkodningar: AddDefaultCharset UTF-8 I exemplet ovan kommer UTF-8 att tilldelas som standardkodning i serverhuvudena.
Vid Windows-1251- kodning : AddDefaultCharset windows-1251
Dessa .htaccess-fildirektiv är de vanligaste. Men i varje enskilt fall kanske de inte fungerar. Allt beror på serverinställningarna.
Det finns mindre populära direktiv som är avsedda att inaktivera serverhuvuden. När de är inaktiverade kommer webbläsaren att välja kodning beroende på indikationerna i META-taggen.
charsetdisable on
AddDefaultCharset Off
Ofta beror kodningsvisningsproblem på att äldre webbprogramvara (till exempel en webbplats , CMS , etc.) använder den nationella kodningen medan servern är konfigurerad att fungera med UTF-8. I det här fallet tvingar den fram språket, den kodning som krävs av programvaran (till exempel cp1251) för webbservern och (vanligtvis) PHP-tolken.
DefaultLanguage ru
AddDefaultCharset windows-1251
php_value default_charset "cp1251"
2. PHP-koddirektiv: I början av php-filen kan du ange en php-kod som skickar instruktioner till webbläsaren för att välja kodning: <?php header('Content-type: text/html; charset=utf-8')?>
I XHTML kan du också ange kodningen i XML -ingressen , till exempel:
<?xml version="1.0" encoding="utf-8"?>Tecken som har speciella namn (se HTML-mnemonics ) kan kodas som &entity;till exempel:
Samtidigt kan alla tecken också kodas i numerisk notation med Unicode decimala (&#DD;) eller hexadecimala (&#xHHHH;) koder .
Rätt webbläsare kommer att visa de tecken som anges på ovanstående sätt, oavsett dokumentets aktuella kodning och i synnerhet även i de fall där sådana tecken inte kan täckas av den. Således är japansk text möjlig i ett HTML-dokument skrivet i Windows-1251, etc.
Teckenkodningar | |
---|---|
Historiska kodningar | ytterligare komp. semafor (Makarov) morse Bodo MTK-2 komp. 6-bitars SCP RADIX-50 EBCDIC KOI-7 ISO 646 |
modern 8-bitars representation | symboler ASCII icke-ASCII 8-bitars kodsidor Kyrillisk KOI-8 Grundläggande kodning MacCyrillic ISO 8859 1 (lat.) 2 3 fyra 5 (kir.) 6 7 åtta 9 tio elva 12 13 fjorton 15 (€) 16 Windows 1250 1251 (Kir.) 1252 1253 1254 1255 1256 1257 1258 WGL4 IBM & DOS 437 850 852 855 866 "alternativ" MIC |
Multibyte | traditionell DBCS GB2312 HTML unicode UTF-32 UTF-16 UTF-8 teckenlista Kyrillisk |
användargränssnitt tangentbordslayout plats linjeöversättning font translitterering anpassade typsnitt verktyg iconv spela in |