Bonjour,
j'ai écris une fonction qui doit filter certains caractères accentués, seulement celle-ci ne fonctionne pas quand j'utilise les codes décimaux (uniquement ceux > 128 apparemment).
En l'occurence les caractères (n tilde espagnol) et (o accent espagnol) ne sont pas remplacés, je ne comprends pas pourquoi !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 void filterChar(char *strSrc) { int i=0; for(i=0; i<strlen(strSrc); i++) { switch(strSrc[i]) { case 'é': case 'è': case 'ê': case 'ë': strSrc[i]='e'; break; case 'É': case 'È': case 'Ê': case 'Ë': strSrc[i]='E'; break; case 'à': case 'â': case 'ä': strSrc[i]='a'; break; case 'À': case 'Â': case 'Ä': strSrc[i]='A'; break; case 'ÿ': strSrc[i]='y'; break; /*case '': strSrc[i]='Y'; break;*/ case 'î': case 'ï': strSrc[i]='i'; break; case 'Î': case 'Ï': strSrc[i]='I'; break; case 'ù': case 'û': case 'ü': strSrc[i]='u'; break; case 'Ù': case 'Û': case 'Ü': strSrc[i]='U'; break; case 'ô' : case 'ö' : case 243 : /* o accent espagnol */ strSrc[i]='o'; break; case 'Ô' : case 'Ö' : case 211 : /* O accent espagnol */ strSrc[i]='O'; break; case 'ç' : strSrc[i]='c'; break; case 'Ç' : strSrc[i]='C'; break; case 241 : /* n tilde espagnol */ strSrc[i]='n'; break; case 209 : /* N tilde espagnol */ strSrc[i]='N'; break; } } }
Merci d'avance!
Partager