L’ amélioration de la vitesse d’affichage d’une page Web signifie souvent que la vie du navigateur devient aussi simple que possible. Lorsque le navigateur reçoit une réponse HTTP, il reçoit effectivement du texte codé en octets, chaque octet ou séquence d’octets représentant un caractère spécifique. Si le navigateur ne dispose pas d’informations uniques sur l’encodage utilisé, il perd du temps à essayer de deviner, et dans certains cas, il peut échouer.
Bien que le Web soit conçu pour être universel, les différents groupes humains qui l’utilisent ont leurs propres particularités. L’une de ces particularités est la langue, surtout quand elle est écrite. Le contenu du texte entier se compose de caractères provenant d’un répertoire destiné à une utilisation quelconque. Les hiraganas, par exemple, sont un système phonétique destiné à la transcription unique de la langue japonaise.
Lire également : Comment faire pour que mon site apparaisse sur Google ?
Pour identifier chaque caractère de manière unique, nous devons attribuer un identifiant unique à chacun d’eux. L’ensemble des identificateurs est appelé un jeu de caractères. Une fois cette table de correspondance définie, chaque caractère doit être converti en une séquence d’octets afin que nous puissions l’enregistrer ou le partager entre ordinateurs. C’est ce qu’on appelle l’encodage de caractères.
A lire également : Comprendre l'importance de la balise meta dans le référencement web
Imaginez que j’utilise un jeu de caractères pour écrire du texte et un encodage approprié pour le convertir en octets que je vous enverrai plus tard. Comment le déchiffriez-vous et liseriez-vous le contenu sans savoir quel encodage ou quel jeu j’ai utilisé ? Enfin, vous devrez utiliser certains des caractères et encodages les plus courants que vous connaissez et vous attendre à ce que le résultat ait un sens… Qu’est-ce qui pourrait mal tourner ?
Remplacer un point-virgule ( 😉 avec un point d’interrogation grec () dans JavaScript de votre ami et regardez-le sortir ses cheveux en raison de l’erreur de syntaxe. Ben Johnson (@benbjohnson), 16 novembre 2014
Donc oui… pas une bonne idée.
Par exemple, la séquence de bits 1100 0011 1010 1001 représente le caractère « é » dans l’encodage UTF-8. Si vous décodez cette séquence, en supposant que vous devez utiliser le codage Latin-1, pas UTF-8, lisez « Ã ©. En Latin-1, le caractère « é » est représenté par la séquence 1110 1001.
Si le navigateur reçoit des octets de votre serveur, il doit identifier la collection de lettres et de symboles utilisés lors de l’écriture du texte converti en ces octets et l’encodage utilisé pour cette conversion pour l’annuler. Si aucune information de ce type n’a été transmise, le navigateur essaiera de trouver des motifs reconnaissables dans les octets pour déterminer l’encodage lui-même et enfin essayer quelques jeux de caractères communs, ce qui prendra un certain temps, ce qui retardera le traitement ultérieur de la page.
Pour accélérer l’affichage de vos pages, vous devez inclure l’encodage du contenu dans votre réponse HTTP.
Comment choisir le jeu de caractères correct ?
Il fut un temps où des centaines d’encodages de caractères existaient côte à côte, tous limités et incapables de contenir suffisamment de caractères pour couvrir toutes les langues du monde. Parfois, aucun encodage n’était suffisant pour toutes les lettres dans une seule langue.
De nos jours, Unicode – un jeu de caractères universel qui définit tous les caractères requis pour écrire la plupart des langues – est devenu un standard, indépendamment de la plate-forme, de l’appareil, de l’application ou de la langue dans laquelle vous vous adressez. UTF-8 est l’un des encodages Unicode et les encodages qui, selon Le W3C doit être utilisé pour le contenu Web :
Toute personne développant du contenu, qu’il s’agisse d’auteurs de contenu ou de programmeurs, doit utiliser l’encodage de caractères UTF-8, sauf s’il y a des raisons très spéciales d’utiliser autre chose. (Si vous choisissez de ne pas utiliser UTF-8, vous devez choisir l’un des rares encodages interopérables dans tous les navigateurs.) « Introduction des jeux de caractères et des encodages », W3C
Remarque : Si vous utilisez une base de données pour stocker votre contenu côté serveur, vous pourriez également être tenté d’utiliser le jeu de caractères « utf-8 ». Attention : Sur MySQL et MariaDB, c’est un alias pour « utf8mb3 », un encodage UTF-8 appelé « Plane multilingue Basic » (BMP) qui stocke seulement un maximum de trois octets par point de code. Au lieu de cela, vous préférez utiliser « utf8mb4 », un encodage qui stocke un maximum de quatre octets par point de code. Sinon, vous pouvez ajouter des caractères populaires comme 🚀, également connu sous le nom « U 1F680 ROCKET », ne pas utiliser !
Comment puis-je appliquer l’encodage de votre personnage… et la meilleure façon de le faire.
Avant d’aller de l’avant, regardons le vocabulaire utilisé.
Dans le passé, les termes « encodage de caractères », « carte de caractère », « jeu de caractères » et « page de code » étaient synonymes d’informatique. Mais maintenant, les termes ont des significations liées, mais différentes. Quoi qu’il en soit, les termes sont toujours utilisés de façon interchangeable, le jeu de caractères étant presque omniprésent. « Codage de caractères », Wikipédia