Enlever les accents dans une chaîne (proprement)

Super technique, trouvée par un client, pour supprimer les diacritiques dans les chaines de caracteres.

(Maintenant ce sont les clients qui m'apprennent des trucs !)

Il suffit de s'appuyer sur la page de code 1251 dans lequel les caracteres diacritiques sont codés sur 2 octets, avec un octet pour le caractere de base et un octet pour la variante ( e -> e, é, e, e, ë ...)

En repassant en ascii, on ne garde que le caractere de base :

public string RemoveDiacritics(string text)

{

  return System.Text.Encoding.ASCII.GetString(System.Text.Encoding.GetEncoding(1251).GetBytes(text));

}

 

Mots clés Technorati : , ,

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Related posts

Comments

June 24. 2007 22:41

Damien

J'ai soumis à Mad Kristensen (auteur de BlogEngine.NET) un patch basé sur cette technique pour construire les urls des articles à partir du titre; Vous pouvez vérifier l'efficacité de cette méthode sur ce poste.

Damien

Add comment


(Will show your Gravatar icon)  

[b][/b] - [i][/i] - [u][/u]- [quote][/quote]



Live preview

November 21. 2008 12:55