Je reprends la question traitée ici, sur ce même site, et qui se pose de nouveau, sans être réapparue depuis des années. La question principale qui reste est la suivante : comment identifier le caractère jugé invalide ? En pratique, lorsque l'affichage de « céphalées » est réduit à « cal », il est facile d'identifier le « é », de même dans l'indication « Invalid UTF-8 byte sequence (�re) » j'ai pu identifier le « ï ». Mais quand le message indique le code Autre observation, les caractères accentués en question ( Il existe certainement un tableau des caractères UTF8 avec leur code, et un moyen de remplacer tous ces « faux » caractères par le caractère souhaité (comme je l'ai fait pour remplacer tous les « é » par des « '{e} »). Mais où trouver ce tableau ? Et quel moyen utiliser pour ces remplacements ? |
donnera :
Le problème est que le Donc normalement ça ne sert à rien de chercher dans des tableaux de utf8, il faut chercher l'endroit où le code est erroné. |
Nb. : Les outils que je cite existent sous Linux. |
Normalement A0 c'est un blanc insécable. Cette information est utile, mais ne résoud pas totalement le problème posé : où trouver cette information ? Et comment remplacer automatiquement ces caractères problématiques ? 1
Chez moi, le caractère utf-8 NO-BREAK SPACE = #xA0 ne provoque pas d'erreur à la compilation. Voir le fichier source http://ix.io/3MAu et le log http://ix.io/3MAw. Pour le reconnaître et le modifier, il suffit d'utiliser les fonctions de recherche et de remplacement de son éditeur. Avec Emacs, on peut saisir n'importe quel caractère utf-8 en le désignant par son nom, ou son code hexa. Voir la documentation de son éditeur. J'ai noté que les trois caractères no-break space passent très bien avec xelatex, mais le caractère NO-BREAK SPACE est affiché comme un LATIN SMALL LETTER A WITH BREVE. La table des caractères UTF-8 est en ligne, ici: https://www.utf8-chartable.de/ 1
@joseph-tux Peut-être cette table est-elle un peu spécialisée (allemand-anglais), par rapport notamment à celle-ci, non ? |