Bonjour,

Mon système est en UTF-8.
J'ouvre un fichier texte(UTF-8), et je stocke la première chaine dans un char[] avec fgets.

J'utilise la fonction : SDL_EnableUNICODE( 1 );
Pour saisir un caractère ASCII, j'utilise : chaine[i] = (char)event.key.keysym.unicode;
Pour saisir un caractère spécial, j'utilise : chaine[i] = event.key.keysym.unicode;

event.key.keysym.unicode est de type Uint16 or le compilateur ne dit rien quand je le met dans un char pourquoi?

Pour vérifier que la chaine chargée du fichier texte est identique à la chaine saisie, j'utilise : if (strcmp(chaine1,chaine2) == 0);
Sans caractère spécial, la comparaison fonctionne.
Avec, la chaine est dite différente dans tous les cas.

Les caractères spéciaux des deux chaines s'affichent correctement avec TTF_RenderUTF8_Blended pour la chaine du fichier texte et
TTF_RenderText_Blended pour la chaine saisie.

Je suppose qu'il existe une fonction me permettant de faire la comparaison correctement, mais je ne la connaît pas, et je voudrai comprendre la différence
entre le codage de event.key.keysym.unicode et le codage d'un caractère en UTF-8.

Je suis un peu paumé et j'aimerai quelques éclaircissements svp.

Le code entier : http://www.megaupload.com/?d=51PZJ3J0