Le premier point qu’il faut bien saisir ; c’est ce qu’est réellement un jeu de caractères, ce fameux charset. Comme vous le savez, en informatique le dénominateur commun de toute valeur à exprimer c’est le bit (0 ou 1). Bits que par la suite on associe par paquet de 8 pour pouvoir exprimer des valeurs plus complexe, c’est ce que l’on appelle des octets. Chaque octet permet au final de représenter une valeur comprise entre 0 et 255.

Maintenant si vous souhaitez représenter un ensemble de caractères, mettons l’alphabet complet incluant majuscules et minuscules il va vous falloir définir un tableau. Dans lequel vous allez dire que le caractère « a » est représenté par la valeur 1 et ainsi de suite jusqu'à 26 pour « z » et vous allez reprendre à 27 pour le caractère « A » jusqu'à 54 pour « Z », etc etc. Vous allez donc utiliser un tableau, tableau que l’on appelle « Jeu de caractères » ou bien « charset » en anglais.

Historiquement le premier charset fut la célèbre table ASCII. Je ne vais pas m’étendre dans les détails à sont sujet retenez simplement que cette table est devenue rapidement obsolète. En grande partie du à la multiplication des caractères à représenter découlant de l’internationalisation de l’informatique.

Pour répondre à ces nouveaux besoins nés après l’arrivée de toujours plus de nouveaux caractères (qu’ils proviennent de l’alphabet latin, grec ou encore des alphabets exotique de nos amis asiatiques) de nouveaux charset ont émergés : ISO-8859-1, UCS-2 … Le plus efficace pour répondre à cette problématique étant UTF-8. En jouant habilement avec les bits dont je parle plus haut, UTF-8 permet de représenter un nombre exponentiel de caractères.

Comme vous le savez, la compatibilité et l’accessibilité sont des éléments qui composent le saint graal dont chaque développeur web est en quête. L’adoption d’UTF-8, jeu de caractères universel par excellence permet d’améliorer la compatibilité des sites au niveau international.

Pour approfondir le sujet :