Blog sur les technos .net
Puisque ces mystères me dépassent, feignons d'en être l'organisateur.

[.NET] Comment convertir les caractères accentués en caractères non accentués ?

By TheGrandBlack
Auparavant lorsqu'on manipulait des chaines ANSI il suffisait de convertir cette chaine en majuscule puis en minuscule et là on se retrouvait avec une chaine sans accent.

Lorsqu'on travaille en Unicode c'est un peu différent, puisque les majuscules accentuées existent.
Comment peut on donc faire ?
Voila un exemple de code CSharp vous permettant de faire cela :


private static string ConvertAccentToNoAccent(string p_value)
{
byte[] v_bytes = Encoding.GetEncoding(1251).GetBytes(p_value);
return Encoding.ASCII.GetString(v_bytes);
}


La chaine suivante
éè&~\ààà=mmmmmmmkkkkkù!*?,<>
sera transformée en
ee&~\aaa=mmmmmmmkkkkku!*?,<>

Keyword C# .net System.Text Encoding Accent Charactere ANSI UNICODE ISO-8859-1 Latin-1 Western Europeen Replace
 

0 comments so far.

Something to say?