Un peu de technique
La norme Unicode, qui a vocation de gérer l’ensemble des caractères produits par l’humanité, permet d’encoder certains caractères sous deux formes différentes :
- forme composée : un caractère de base suivi de modifications. Par exemple le caractère
é
sera codé "caractèree
(U+0065
), suivi du caractère « accent aigu » (U+0301
)" ; - forme unitaire : un seul caractère. Le caractère
é
estU+00E9
.
Le type d’encodage adopté dépend souvent de la méthode de saisie. Par exemple, une personne avec un clavier francophone saisira directement U+00E9
, alors qu’une personne avec un clavier anglophone placera souvent ses accents a posteriori et saisira U+0065U+0301
.
Le problème est que certaines polices de caractères gèrent mal les caractères composites. Ainsi, en présence de la séquence U+0065U+0301
, elle tenteront de mettre un accent au dessus d’un e
, mais la place de l’accent pourra être graphiquement problématique, et ne pas correspondre à une vraie glyphe é
.
La solution la plus sûr consiste à avoir le plus de fois possible la forme unitaire en appliquant une normalisation unicode NFC. Ce plugin permet d’automatiser cette normalisation.
Installation et utilisation du plugin
Pour s’installer, le plugin nécessite l’extension PHP intl
, à demander le cas échéant à votre hébergeur, ou à installer vous même si vous avez le contrôle sur votre serveur.
Une fois installé, le plugin normalise automatiquement les caractères lors de l’enregistrement d’un champ. Vous n’avez donc rien à faire de plus.
Discussions par date d’activité
Une discussion
Est-ce qu’il ne serait pas utile d’appeler cette fonction (après avoir détecté si elle existe) dans inc/filtres : corriger_caracteres ?
oui ca pourrait valoir la peine. Personnellement je trouve la correction directement en base plus appropriés. Sans avoir testé, je me demande si cela n’a pas des conséquences aussi sur l’indexation/la recherche.
corriger_caracteres est aussi appelé à l’enregistrement :
ecrire//inc/editer.php :
ah ! J’avais pas vu. Donc oui je dirais que si cela pouvait être en natif spipien, cela vaudrait la peine. La seule chose que je crain c’est qu’avec une install du plugin, au moins les gens ont conscience qu’il leur faut la librarie php
Ça je pense que c’est un problème plus général dans SPIP : il manque une page qui listerait les librairies présentes par rapport à une liste de lib recommandées. (On a un travail particulier pour les libs d’images.)
Sinon par rapport au plugin je dirais que le bug actuellement, c’est que si tu déplaces ton site d’un serveur qui a le module à un serveur qui ne l’a pas, le site va planter sans explication :)
oui ou alors le plugin sera désactivé. Mais tu as raison, il faudrait que je teste la présence effective de la fonction, au cas où.
Hop
https://zone.spip.net/trac/spip-zone/changeset/115536/spip-zone
👍👍👍👍👍👍👍👍👍👍👍
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |