在VB中去加载VC编码写的DLL,界面是中文都出现乱码,如果是英文的就正确
这要如何解决?

解决方案 »

  1.   

    VB编写的界面还是VC编写的界面?
    如果是DLL没有界面,只传递参数 可以用MultiByteToWideChar函数来转换就不会乱码。
    原因:VC使用的是8位编码标准 既ANSI 而VB是用的是16位编码标准(unioncode) ansi只有8位,可以表示26个因为字母,但无法表示汉字,所以出现乱码。MultiByteToWideChar和WideCharToMultiByte 这两个函数就是用于两种编码的相互转换。
      

  2.   

    如果是DLL的界面,就重新编写DLL
      

  3.   


    本来是用DLL做多国语言的,可是VB加载进来显示不出来,现在就是VC的DLL的界面直接做成中文版,可是现在加载进来却是乱码,但是英文的不会
      

  4.   

    VB 和 VC 都用UNICODE编码,就没问题了。
    VC中字符串用_T()宏,然后编译器加上_UNICODE,UNICODE选项
    VB中调用API时调用UNICODE版的,就是W结尾的