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

cs_said01 Messages postés 8 Date d'inscription mercredi 15 décembre 2004 Statut Membre Dernière intervention 24 avril 2006 - 24 avril 2006 à 11:58
cs_Deprince Messages postés 9 Date d'inscription mercredi 6 mai 2009 Statut Membre Dernière intervention 16 avril 2010 - 12 mars 2010 à 11:19
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
A voir également:

3 réponses

Alcantornet Messages postés 89 Date d'inscription mardi 8 février 2005 Statut Membre Dernière intervention 14 novembre 2007
24 avril 2006 à 16:48
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.
0
cs_said01 Messages postés 8 Date d'inscription mercredi 15 décembre 2004 Statut Membre Dernière intervention 24 avril 2006
24 avril 2006 à 18:17
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.
0
cs_Deprince Messages postés 9 Date d'inscription mercredi 6 mai 2009 Statut Membre Dernière intervention 16 avril 2010
12 mars 2010 à 11:19
Un gros calin à tous !
0
Rejoignez-nous