Unicode et HTML

Unicode et HTML

La relation entre Unicode et HTML tend à être un sujet difficile pour beaucoup de professionnels de linformatique, dauteurs de documents, et dutilisateurs du web. La représentation exacte et appropriée du texte, dans les pages web, pour différentes langues et systèmes décriture est compliquée par les détails dencodage de caractères, de syntaxe de langage de balisage, de police de caractères, et par la diversité des niveaux de support offerts par les navigateurs web.

Sommaire

Caractères des documents HTML

Les pages Web sont typiquement des documents HTML ou bien XHTML. Les deux types de documents consistent, à un niveau fondamental, de caractères, qui sont des unités de graphèmes et des « grapheme-like », indépendamment de comment ils sont stockés dans les systèmes de mémoire informatique et de réseaux informatique.

Un document HTML est une séquence de caractères Unicode.

Que le document soit en HTML ou en XHTML, lorsquil est stocké sur un système de fichier ou transmis sur un réseau, les caractères du document sont numérisés comme séquence de bit/octets daprès un codage de caractère particulier. Le codage peut être un des UCS Transformation Format, comme UTF-8, qui peut directement coder nimporte quel caractère Unicode, ou un codage de caractère plus ancien comme Windows-1252, qui ne le peut pas.

Les entités de caractères permettent de sabstraire de lencodage du document.

Détermination de l'encodage de caractères

Afin dinterpréter correctement le HTML, un navigateur web doit supposer quel caractère Unicode est représenté par la forme encodée dun document HTML. Pour ce faire, le navigateur web doit savoir quel encodage a été utilisé. Quand un document est transmis via un message MIME ou une couche de transport qui utilise un contenu de type MIME telle quune réponse HTTP, le message peut signaler lencodage via un entête Content-Type, tel que Content-Type: text/html; charset=ISO-8859-1. Dautres moyens externes pour déterminer lencodage sont autorisés, mais rarement utilisés. Lencodage peut également être déclaré à lintérieur même du document, sous la forme dun élément META, comme <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">. En labsence de toute déclaration dencodage, le défaut dépend de la configuration de la localisation du navigateur. Sur un système configuré essentiellement pour les langues ouest-européennes, ce sera généralement ISO-8859-1 ou lune de ses extensions comme Windows-1252 ou ISO-8859-15. Pour un navigateur les caractères multi-octets sont la norme, une forme dautodétection sera sûrement appliquée. Une mauvaise connaissance du codage utilisé peut aboutir à un affichage dégradé des caractères, notamment du caractère euro.

Les encodages 8 bits locaux sont plus anciens que lUnicode et de ce fait plus utilisés dans certaines zones géographiques. À cause de ces habitudes, notamment dans les langages de programmation et systèmes dexploitation, et du désir déviter dennuyer les utilisateurs avec la nécessité de comprendre les nuances dencodage, beaucoup déditeurs de textes utilisé par les auteurs HTML sont incapables ou non-désireux doffrir le choix de lencodage, lors du stockage dun fichier sur le disque, et souvent ne permettent pas la saisie de caractères en dehors dune plage de valeur très limitée. En conséquence, beaucoup dauteurs HTML sont totalement inconscients des problématiques dencodage et peuvent navoir aucune idée de lencodage utilisé dans leurs documents. Il est aussi communément mal compris que la déclaration dencodage naffecte pas lencodage effectif, vu quil ne sagit que dune étiquette informative qui peut ne pas être exacte.

Beaucoup de documents HTML se présentent avec des déclarations dencodage inappropriées, ou sans aucune déclaration. Afin de déterminer lencodage dans de tels cas, beaucoup de navigateurs permettent à lutilisateur de sélectionner manuellement un encodage dans une liste. Ils peuvent également employer un algorithme dauto-détection qui travaille de concert avec la configuration manuelle. La surcharge manuelle peut sappliquer à tous les documents, ou seulement à ceux pour lesquels lencodage ne peut pas être déterminé par les déclarations et/ou les « patterns octets ». La présence dune surcharge manuelle, et le fait quelle soit largement utilisée et adoptée par les utilisateurs, cachent limprécision des déclarations dencodage sur le Web ; en conséquence de quoi, le problème risque de persister. Cela a été résolu dune certaine manière par XHTML, qui, étant de lXML, nécessite que la déclaration dencodage soit précisée, et quaucun contournement ne soit employé quand elle est inadaptée.

Encodages effectivement utilisés sur internet

Daprès un blog concernant les pages indexées par Google[1], 2008 serait lannée au niveau mondial lUTF-8, dont lutilisation est en croissance rapide, dépasserait les autres usages dencodages régionaux. Daprès des données internes à Google assemblées par Eric von der Poel, les encodages dEurope occidentale se maintiendrait à 25 % sur la période 2001-2008, alors que sur la même période, UTF-8 passe de 0 % à 25 %, et lASCII de 50 % à 25 %.


Lorsquun robot parcours le web, il peut effectuer des statistiques sur les encodages déclarés dans les entêtes HTTP, ou dans les balises HTML. Cependant, les encodages utilisés varient en fonction de lenvironnement linguistique, et donc notamment en fonction des TLD.

À titre dexemple, en se basant sur les réponses HTTP, en février 2009, on peut noter les taux de déclarations suivants :

encodage HTTP Unknown UTF-8 ISO 8859-1 ISO 8859-2 windows-1255 gb2312 euc-jp gbk ks_c_5601-1987 euc-kr euc_kr
com 44 % 28 % 12 % 4 % 1 %
fr 34 % 39 % 24 %
nl 32 % 49 % 16 %
au 31 % 43 % 23 %
it 46 % 22 % 30 %
uk 44 % 34 % 21 %
pl 48 % 21 % 4 % 24 %
cn 75 % 8 % 3 % 7 % 4 %


encodage HTML Unknown UTF-8 ISO 8859-1 gb2312 euc-jp gbk Shift-JIS ISO 8859-15 x-sjis
com 36 % 24 % 13 % 11 % 2 % 7 % 2 %
fr 26 % 44 % 27 % 1 %
jp 21 % 26 % 11% 36 % 1 %

Support des navigateurs Web

De nombreux navigateurs ne sont capables dafficher quune petite partie du répertoire Unicode. Voici comment votre navigateur affiche différents exemples de code Unicode :

Caractère Code HTML Nom Unicode Ce quaffiche votre navigateur
U+0041 &#65; or &#x41; Lettre majuscule latine A A
U+00DF &#223; or &#xDF; Lettre minuscule latine s dur ß
U+00FE &#254; or &#xFE; Lettre minuscule latine thorn þ
U+0394 &#916; or &#x394; Lettre majuscule grecque delta Δ
U+0419 &#1049; or &#x419; Lettre majuscule cyrillique i bref Й
U+05E7 &#1511; or &#x5E7; Lettre hébraïque qouf ק
U+0645 &#1605; or &#x645; Lettre arabe mîm م
U+0E57 &#3671; or &#xE57; Chiffre thaï 7
U+1250 &#4688; or &#x1250; Syllabe éthiopienne qhä
U+3042 &#12354; or &#x3042; Syllabe hiragana A (japonais)
U+53F6 &#21494; or &#x53F6; Idéogramme unifié CJC-53F6 (Sinogramme simplifié shè, xié, , « feuille »)
U+8449 &#33865; or &#x8449; Idéogramme unifié CJC-8449 (Sinogramme traditionnel shè, xié, , « feuille »)
U+B5AB &#46507; or &#xB5AB; Syllabe hangûl Tteolp (coréen Ssangtikeut Eo Rieulbieup)
U+10346 &#66374; or &#x10346; Lettre gotique f

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Unicode et HTML de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Unicode et htmlWikipédia …   Wikipédia en Français

  • Unicode and HTMLWeb pages authored using hypertext markup language (HTML) may contain multilingual text represented with the Unicode universal character set.The relationship between Unicode and HTML tends to be a difficult topic for many computer professionals,… …   Wikipedia

  • Unicode and HTML for the Hebrew alphabetSee Hebrew alphabet for the main article on the Hebrew alphabet. The Unicode and HTML for the Hebrew alphabet are found in the following tables. The Unicode Hebrew block extends from U+0590 to U+05FF and from U+FB1D to U+FB40. It includes letters …   Wikipedia

  • HTML et UnicodeUnicode et HTML Wikipédia …   Wikipédia en Français

  • Unicodeest une norme informatique, développée par le Consortium Unicode, qui vise à permettre le codage de texte écrit en donnant à tout caractère de nimporte quel système décriture un nom et un identifiant numérique, et ce de manière unifiée, quelle… …   Wikipédia en Français

  • Unicode equivalenceis the specification by the Unicode character encoding standard that some sequences of code points represent essentially the same character. This feature was introduced in the standard to allow compatibility with preexisting standard character… …   Wikipedia

  • Unicode typefaces — (also known as UCS fonts and Unicode fonts) are typefaces containing a wide range of characters, letters, digits, glyphs, symbols, ideograms, logograms, etc., which are collectively mapped into the standard Universal Character Set, derived from… …   Wikipedia

  • Unicode character propertyUnicode assigns character properties to each code point.[1] These properties can be used to handle characters (code points) in processes, like in line breaking, script direction right to left or applying controls. Slightly inconsequently, some… …   Wikipedia

  • HTMLРасширение .html, .htm MIME text/html Ра …   Википедия

  • Unicode-BlockLogo von Unicode Unicode [ˈjuːnɪkoʊd] ist ein internationaler Standard, in dem langfristig für jedes sinntragende Schriftzeichen oder Textelement aller bekannten Schriftkulturen und Zeichensysteme ein digitaler Code festgelegt wird. Ziel ist es,… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
https://fr-academic.com/dic.nsf/frwiki/1679432 Do a right-click on the link above
and selectCopy Link