最近在做一个出口到国外许多国家的数据卡程序。在短消息编辑发送界面中,要取出用户输入的短信内容(ASCII,GB,或用户系统上支持的多字节字符集内容),然后将它转成Unicode发送。在阅读短信时也要将收到的Unicode内容转成用户系统上支持的多字节字符集内容显示,我使用的是EDIT控件,用到了MultiByteToWideChar和WideCharToMultiByte函数,目前收发英文和简体中文都正确,但意大利文和繁体中文不正确。请问这和用户的OS和字符集有关吗,该如何处理?谢谢!

解决方案 »

  1.   

    可能是你转的问题或者是edit设置的问题或者...
    繁体字我们都可以显示的,应该不是字符集的问题
    这个不知道对你有帮助没,LZ可以参考下
    http://blog.csdn.net/thisisll/posts/723602.aspx
      

  2.   

    MultiByteToWideChar和WideCharToMultiByte时的CodePage是否正确?
      

  3.   

    <BEGIN QUOTE>
    要取出用户输入的短信内容(ASCII,GB,或用户系统上支持的多字节字符集内容),然后将它转成Unicode发送
    <END QUOTE>这么干错了。直接取Unicode, GetWindowTextW一切搞定
      

  4.   

    MultiByteToWideChar和WideCharToMultiByte
    在不同语言的计算机上转换结果不同,楼主要注意啊,客户端、服务器的哪个环节作转换,是必须统一的,不然就会出错。我猜楼主是在中文操作系统下转换了那几种语言,呵呵。
      

  5.   

    繁体中文应该用UNICODE可以的,我都可以