当前位置:编程学习 > C#/ASP.NET >>

急,c#调用c dll的参数传递出现韩文乱码,而中英文正常

具体c dll中的声明为:
extern "C" _declspec(dllexport)  void func(char* type, char* Info, char* addr);
三个入参均为char*

c#中调用为:
 [DllImport("ClientDll.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
      //  [DllImport("ClientDll.dll")]
 public static extern void func(string type, string Info, string addr);
我传进去的info中含中文和英文都能正常,包含韩文时dll那边打印出来(16进制码)就是乱码3f;
请高手帮忙解决,点出问题所在。
谢谢! --------------------编程问答-------------------- 应该是编码问题,c#是unicode编码,c++可能不是,你设置一下dllimport中的CharSet试试 --------------------编程问答-------------------- 是编码问题,c++ dll中使用的是多字节字符集,c#中dllimport的CharSet所有设置都试过,dll端收到的韩文始终是3f --------------------编程问答-------------------- 不知道是不是字库的问题,没准装下韩文字库就能搞定。 --------------------编程问答-------------------- c dll 里使用什么字符集编码处理函数参数的? --------------------编程问答-------------------- 开发环境是win2003 datacenter英文版 + vs2010中文版,应该包含韩文字库,能够直接敲韩文 --------------------编程问答-------------------- c++ dll中使用的是多字节字符集

没有人遇到这样的问题吗 --------------------编程问答-------------------- 先确认有没有韩文字库 --------------------编程问答-------------------- 关于韩文字库,确认了,win2003系统没有,从网上找了字库,安装了,问题依旧 --------------------编程问答-------------------- 请高手指点一下
--------------------编程问答-------------------- 干嘛要支持韩文呢? --------------------编程问答-------------------- 用户有这个需求 --------------------编程问答--------------------  [DllImport("ClientDll.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]

CharSet = CharSet.Auto试试 --------------------编程问答-------------------- c#中dllimport的CharSet所有设置都试过,dll端收到的韩文始终是3f
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,