Caractères spéciaux [Résolu]

Messages postés
4
Date d'inscription
lundi 27 juin 2011
Statut
Membre
Dernière intervention
27 septembre 2011
- - Dernière réponse : cjacquem
Messages postés
4
Date d'inscription
lundi 27 juin 2011
Statut
Membre
Dernière intervention
27 septembre 2011
- 27 sept. 2011 à 12:45
Bonjour à tous !

Voilà, j'utilise Visual C++ 2008, et je voudrais faire afficher un delta (la lettre grecque) dans un CString.

CString str;
str="\u0394";
AfxMessageBox(str);

Or, cela m'affiche un point d'interrogation et un warning :

Warning 1 warning C4566: character represented by universal-character-name '\u0394' cannot be represented in the current code page (1252)

J'ai fait quelques recherches préliminaires sur des forum (ici et ailleurs), mais je ne parvient pas à trouver la solution.

Merci d'avance !!!
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
14511
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
24 mai 2019
88
3
Merci
Petite question: afficher un delta est-il vraiment nécessaire? Tu as beaucoup de caractères comme cela?
Sinon, ça ne vaut pas le coup de "tout casser" ce que tu as déjà fait... Si c'est pour une formule mathématique, "d" fait aussi bien l'affaire...


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 152 internautes nous ont dit merci ce mois-ci

Commenter la réponse de BunoCS
Messages postés
14511
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
24 mai 2019
88
0
Merci
Hello,
Il faut que tu passes en Unicode


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS
Messages postés
4
Date d'inscription
lundi 27 juin 2011
Statut
Membre
Dernière intervention
27 septembre 2011
0
Merci
Merci !

Sauf que je débute et je ne vois pas comment je peux faire !

Tu parles du str ? De mon programme en entier ?
Commenter la réponse de cjacquem
Messages postés
14511
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
24 mai 2019
88
0
Merci
Dans les options de ton projet, il faut indiquer que tu utiliser le jeu de caractère unicode. De mémoire, ça doit être par là: Project Properties > General > Project Defaults > Character Set.


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS
Messages postés
4
Date d'inscription
lundi 27 juin 2011
Statut
Membre
Dernière intervention
27 septembre 2011
0
Merci
Arf ! J'ai fait ce que tu m'as dit de faire sauf que le compilateur me sort plus d'une centaine d'erreurs (137 pour être précis). (Use Unicode Character Set)

Il y a celle ci par exemple :

Error 51 error C2664: 'CWnd::MessageBoxW' : cannot convert parameter 1 from 'const char [31]' to 'LPCTSTR'

C'est parce que je fais une MFC ?

Sinon, j'ai entendu parler de la fonction MultiByteToWideChar() mais je vois pas comment je peux faire dans mon cas (désespéré ?) ...

Qu'en penses tu ?

(et encore merci)
Commenter la réponse de cjacquem
Messages postés
14511
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
24 mai 2019
88
0
Merci
Oui, il faut changer toutes tes chaines de caractères pour les mettre en tchar plutôt qu'en char.


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Commenter la réponse de BunoCS
Messages postés
4
Date d'inscription
lundi 27 juin 2011
Statut
Membre
Dernière intervention
27 septembre 2011
0
Merci
Oui, je pense que modifier tout mon programme à la main sera laborieux !

Je vais me débrouiller avec les caractères ascii.

C'est juste dommage...

Et avec la fonction MultiByteToWideChar(), y'a pas moyen ?
Commenter la réponse de cjacquem