Limbajul de marcare hipertext HTML a fost folosit din 1991, dar versiunea 4.0 (1997) a fost prima în care reprezentarea caracterelor non- ASCII (adică, engleză) este destul de standardizată.
Când afișați o pagină HTML de către browsere, acestora din urmă trebuie să li se spună în ce codificare este salvată pagina. Pentru a face acest lucru, puteți utiliza două metode:
Când transmiteți un document HTML prin HTTP (să zicem, către WWW ), setul de caractere al documentului este specificat în antetul HTTP , de exemplu, pentru text în versiunea rusă a codificării KOI-8 :
Tip de conținut: text/html; set de caractere=koi8-rInformațiile de codificare pot fi inserate în documentul HTML în sine, folosind o etichetă metaîntr-o secțiune a <head>documentului HTML. De exemplu, în cazul codificării UTF-8, eticheta metaar arăta astfel:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />În standardul pentru limbajul HTML 5, metaeticheta care informează browserul despre codificarea paginii este scrisă diferit de regulile adoptate în standardele HTML anterioare. Deci exemplul de mai sus în HTML 5 ar arăta astfel:
<meta charset="utf-8" />Această metodă funcționează bine pentru . Conform HTTP/1.1, nespecificarea unui set de caractere într-un antet este echivalentă cu utilizarea setului de caractere ISO 8859-1 .
Adică factorul de prioritate pentru browser la întrebarea „în ce codificare să afișeze documentul” poate fi antetul transmis de server. În acest caz, browserul trebuie să ignore directivele corespunzătoare din eticheta META.
1. Când utilizați serverul Apache , puteți utiliza fișierul .htaccess . În acesta, trebuie să specificați directive serverului cu privire la codificări implicite: AddDefaultCharset UTF-8 În exemplul de mai sus, UTF-8 va fi atribuit ca codificare implicită în anteturile serverului.
În cazul codificării Windows-1251 : AddDefaultCharset windows-1251
Aceste directive de fișier .htaccess sunt cele mai frecvent utilizate. Dar, în fiecare caz individual, este posibil să nu funcționeze. Totul depinde de setările serverului.
Există directive mai puțin populare care au scopul de a dezactiva antetele serverului. Când sunt dezactivate, browserul va alege codificarea în funcție de indicațiile din eticheta META.
charsetdisable on
AddDefaultCharset Off
Adesea, problemele de afișare de codificare se datorează faptului că software-ul web vechi (de exemplu, un site web , CMS , etc.) utilizează codificarea națională în timp ce serverul este configurat să funcționeze cu UTF-8. În acest caz, forțează limbajul, codificarea cerută de software (de exemplu, cp1251) pentru serverul web și (de obicei) interpretul PHP.
DefaultLanguage ru
AddDefaultCharset windows-1251
php_value default_charset "cp1251"
2. Directiva PHP-code: La începutul fișierului php, puteți specifica un cod php care va trimite instrucțiuni către browser pentru a selecta codificarea: <?php header('Content-type: text/html; charset=utf-8')?>
În XHTML, puteți specifica și codificarea în preambulul XML , de exemplu:
<?xml version="1.0" encoding="utf-8"?>Caracterele care au nume speciale (vezi mnemonicii HTML ) pot fi codificate ca &entity;, de exemplu:
În același timp, toate caracterele pot fi, de asemenea, codificate în notație numerică folosind coduri zecimale Unicode (&#DD;) sau hexazecimale (&#xHHHH; ) .
Browserul corect va afișa caracterele specificate în modul de mai sus, indiferent de codificarea curentă a documentului și, în special, chiar și în cazul în care astfel de caractere nu pot fi acoperite de acesta. Astfel, textul japonez este posibil într-un document HTML scris în Windows-1251 etc.
Codificarea caracterelor | |
---|---|
Codificări istorice | comp. suplimentare semafor (Makarov) morse Bodo MTK-2 comp. 6 biți SCP RADIX-50 EBCDIC KOI-7 ISO 646 |
reprezentare modernă pe 8 biți | simboluri ASCII non-ASCII Pagini de cod pe 8 biți chirilic KOI-8 Codificare de bază MacCyrillic ISO 8859 1 (lat.) 2 3 patru 5 (chir.) 6 7 opt 9 zece unsprezece 12 13 paisprezece 15 (€) 16 Windows 1250 1251 (Kir.) 1252 1253 1254 1255 1256 1257 1258 WGL4 IBM și DOS 437 850 852 855 866 „alternativă” MIC |
Multiocteți | tradiţional DBCS GB2312 HTML unicode UTF-32 UTF-16 UTF-8 lista de caractere chirilic |
interfața cu utilizatorul dispunerea tastaturii local traducere de linie font transliterare fonturi personalizate utilitati iconv record |