Si le site Web doit être multilingue, l’encodage à utiliser de préférence est l’UTF-8. Cet encodage permet de représenter dans une même table les caractères de différentes langues :
- caractères français, autrement identifiés dans la table Latin-1 ou ISO-8859
- caractères d’europe centrale, autrement identifiés par ISO 8859-2
- caractères turcs, autrement identifiés par ISO 8859-9
- etc.
Attention : les caractères de la table UTF-8 n’utilisent pas tous le même nombre d’octets. Vous devrez être prudents en utilisant les fonctions PHP suivantes :
- strlen() va retourner le nombre d’octets et non le nombre de caractères.
- substr() travaille également avec les octets et non avec les caractères.
- Il faut leur préférer les fonctions mb_substr() et mb_strlen(). Il faut d’abord préciser l’encodage à l’aide de la fonction mb_internal_encoding("UTF-8"). Dans ces fonctions, les caractères mb signifient multi-byte.
Pour plus d'information
« Introduction aux jeux de caractères ». Open Web Group. http://openweb.eu.org/articles/jeux_caracteres
Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.