Ho un problema con i caratteri accentati in C.
Ho creato un piccolo script:
Codice: Seleziona tutto
#include <stdio.h>
main() {
char ch;
scanf ("%c",&ch);
if (ch=='è')
printf ("OK\n");
else
printf ("NO\n");
} Codice: Seleziona tutto
g++ prova.c -o provaCodice: Seleziona tutto
prova.c:9:14: warning: multi-character character constant
prova.c: In function 'int main()':
prova.c:9: warning: comparison is always false due to limited range of data type
Ho googlato alla grande, e sono riuscito a capire che i caratteri accentati non sono visti come carattere singolo, e da qui il problema. Infatti sostituendo la è con qualsiasi altra lettera non accentata, il programma funziona perfettamente...
Come posso risolvere e fargli riconoscere anche le lettere accentate?
Il file prova.c è scritto con codifica UTF-8 (ma ho provato anche ISO-8859-1 e ISO-8859-15 senza risultato), lavoro con hardy 64bit (ho anche provato con 32bit e medesimo errore).
Qualcuno sa darmi una mano?
