Lors de saisies de formulaires, il arrive assez fréquemment que l’utilisateur copie / colle à partir de Word son texte. Malheureusement, ce dernier est souvent formaté, notamment avec des puces dessinés.
Ces puces ne seront pas lisibles par le navigateur, malgré l’UTF-8 de la page Web. Aussi, autant que faire se peut, il faut les retirer pour l’affichage sinon on encourt le risque d’avoir ce type de caracères sous FF ou IE ou Safari (disponible en version 3.11, apparemment plus stable sous Windows) :


Alors comment faire ?
Grâce à ce site qui nous permettra de rechercher le code UTF du ou des caractères indésirables, par exemple les puces de l’exemple, on recherchera (copier/coller directement du symbole affiché) le symbole qui donnera le code F0E0 :
Une fonction utilitaire avec une regexp suffira pour remplacer les puces par le caractère -, avec un fichier Resource.resx qui contiendra tous les codes UTF des puces à substituer. Pour dire au Replace d’interpréter un code UTF, il faudra préfixer le code par \\u, pour F0E0, cela donnera
Regex.Replace("\\uF0E0","-");
La méthode utilitaire :
public static String CleanWord(String chaine) { string mystr = chaine; string[] paras = Resource.RegexSubstituteUTF8.Split(';'); mystr = Regex.Replace(mystr, paras[0], paras[1]); // puce Word , ... return mystr; }
avec comme Resource.resx :

on aura alors le résultat escompté




