soixante-huit mille
Services Web
vendredi 17 janvier 2020
tip : #charset

Caractères non latins, кирилица et emoji

Présentation

Le traitement des caractères dit "spéciaux" sur Internet concerne différentes spécialités :

  1. les développeurs pour le stockage, la recherche, l'indexation, les tris
  2. les infographistes pour le rendu des caractères
  3. les créateurs de contenus pour le SEO

Nos accents, cédilles et autre trémas sont des "caractères spéciaux" pour les anglophones ; les ф ش 유 यू sont des caractères spéciaux pour les français mais les emoji sont des caractères très spéciaux pour tout le monde :)
Chaque alphabets voit donc les caractères des autres alphabets comme "spéciaux".

Le but est de supporter le maximum d'alphabets (Cyrillique, Coréen, Hindi, etc.) et autres jeux de caractères comme les smiley afin d'éviter :

 

1. Développeurs

Il leur faut contrôler que l'ensemble des briques utilisées pour le développement et le rendu du site supportent l'UTF-8 :

 

Cas des URL et des noms de fichiers

Beaucoup d'outils web génèrent automatiquement les URL des pages en se basant sur le titre du document ; mais que font ils des caractères spéciaux ? Très souvent la règle : alphanumériques ainsi que quelques caractères comme le tiret est appliqué. Le nommage des fichier uploadés respectent souvent la même règle.

Comme vu dans la 1ère partie, les accents sont (trop) facilement remplacés par leurs caractères non accentués, pareil pour les trémas et autres cédilles, cela reste lisible. Mais que faire d'un titre composé uniquement de caractères cyrillique ?

Voici quelques solutions, de la plus simple techniquement mais peu satisfaisante, à la plus intéressante mais complexe :

 

Cas des Emoji

Les emoji sont un cas plus complexe encore que les alphabets, utilisant un nombre d'octets plus important pour les coder. L'UTF-16 est nécessaire pour supporter un coeur ou un smiley.

Présentation de 2 cas :

Twitter remplace l'emoji par une image, mais conserve le caractère original dans l'attribut ALT de la balise html : tweet de musiquedepub

 

Sur musiquedepub.tv j'ai programmé le système de commentaires pour que les emoji soient stockés de façon encodés, puis décodés pour l'affichage : comme ici le coeur <3

Cela permet de conserver une base de données au format UTF-8 pour ne pas passer à un format plus consommateur en espace comme UTF-16. Mais le système de recherche ne permet pas d'effectuer une recherche sur ce type de caractères.

 

Cas des noms de domaines

Si beaucoup d'alphabets sont supportés dans les noms de domaines, une étude précise devra être menée quant à la gestion des emails et du référencement.

 

2. Infographistes

Les polices de caractères doivent supporter les alphabets que les gestionnaires de contenus vont utiliser et les internautes vont insérer via les commentaires.

Les caractères non présent dans la police seront traités par une fonte de backup, dont l'apparence diffère de la police du site.

Exemple ici avec sur 68000.fr où les caractères cyrilliques ne sont pas présent dans la police elephant utilisée pour les titres h1

 

3. Créateurs de contenus

Une fois les contenus renseignés, la question de leurs performances se pose :

Suivi des performances de référencement

Voici la query Google permettant de la rechercher dans son indexe : site:68000.fr адрес-на-кирилица

La page est indexée, ses caractères cyrilliques sont supportés dans le l'URL, titre et l'extrait.

 

Résumé traduit en bulgare

когато уебсайтът е отворен за коментари от интернет потребители по целия свят, кодът на сайта трябва да поддържа всички азбуки или по-добре да вземе под внимание UTF8

След като базата данни, файловият формат и метаданните на сайта са направени съвместими, басовите данни трябва да бъдат преобразувани.

Въпроси за изпълнение: