Unicode dans un prog de communication entre pc et GSM par liaison infrarouge

Signaler
Messages postés
8
Date d'inscription
mercredi 15 décembre 2004
Statut
Membre
Dernière intervention
24 avril 2006
-
Messages postés
9
Date d'inscription
mercredi 6 mai 2009
Statut
Membre
Dernière intervention
16 avril 2010
-
Bonjour,





Je suis Sous xp avec VC++ 6 :


J'essaye de lire de l'Unicode dans mon prog sans succès.





Problématique:





J'ai une fonction qui récupère mes Sms depuis le NOKIA 3310 sans problème. Ok.



Mais à l'affichage, tous les caractères dont le codes Ascii est > à 127


ne s'affiche pas correctement dans ma Listctrl.





Explication:





ma fonction ReadFile est la suivante :





DWORD GsmPort::Lire(void* pDonnee, DWORD dwCpt) const


{


ASSERT(EstOuvert());








DWORD dwBytesRead = 0;





ReadFile(m_hPort, pDonnee, dwCpt, &dwBytesRead, NULL);





return dwBytesRead;


}





L’appel de la fonction me retourne le texte des SMS sans les caractères accentués;


et ce tant que ma variable est de type char.





unsigned char cCarLu = '\0';


if Lire(&cCarLu , sizeof(cCarLu )) > 0)


CString strReponse += cCarLu;





si je change le type de cCarLu en TCHAR , je ne récupère plus que des ???





Dans VC++, le paramétrage pour l'unicode est OK.


wWinMainCRTStartup dans projet setting. ainsi que le #define _UNICODE.


Ma ListCtrl. Je lui applique bien la fonte Unicode.





la conversion avec WideCharToMultiByte(CP_ACP, 0, &cCarLu, -1, &szUnicode, 1024, NULL, NULL);


ne donne rien.





Ce que je ne comprends pas, c'est pourquoi le ReadFile Avec TCHAR me renvoie des


valeurs énormes genre 21135, qui se traduisent forcément par des ??? à l'affichage.











Après une longue recherche sur google et Msdn ce week-end , toujours rien.





Si vous avez une piste quelconque, ou des suggestions, je suis tout à fait preneur.





Merci d'avance

3 réponses

Messages postés
89
Date d'inscription
mardi 8 février 2005
Statut
Membre
Dernière intervention
14 novembre 2007

Es-tu sûr que c'est un problème entre unicode et ascii ?
Ca pourrait être un problème entre ISO-8835-1 et ascii.
Messages postés
8
Date d'inscription
mercredi 15 décembre 2004
Statut
Membre
Dernière intervention
24 avril 2006

salut,

Oui j'en suis certain, car d'aprés les infos que j'ai pu réunir sur le net, tout semble confirmer que les Gsm communiquent forcément par Unicode.

s'il y a d'autres question, n'hesiter surtout pas !?

si tu as une clé infrarouge et un portable avec modem (et le temps bien sûr...); tu peux tester le prog du lien suivant : http://www.codeproject.com/ce/irdamobile.asp.
tu verras qu'à la lecture de ton répértoire téléphonique, tous les noms avec accents seront tronqués.

et merci.
Messages postés
9
Date d'inscription
mercredi 6 mai 2009
Statut
Membre
Dernière intervention
16 avril 2010

Un gros calin à tous !