需在 java 中调用 vc 写成的 dll 文件,传递 jstring 参数并获取 jstring 返回值。
现在传递的参数西文字符无问题,中文为乱码,返回也一样。
在 dll 中已使用
char * szStr = (char *)jEnv->GetStringUTFChars(jStr,0);
将 jstring 类型的字符串转换为 vc 能操作的 char * 型,但是中文为乱码。
使用 MultiByteToWideChar 或 WideCharToMultiByte 均无法正确转换。
(以上函数使用方法正确)
不知该用什么方法做中文字符的转换?望各位大侠相助,不胜感激!谢谢了。
现在传递的参数西文字符无问题,中文为乱码,返回也一样。
在 dll 中已使用
char * szStr = (char *)jEnv->GetStringUTFChars(jStr,0);
将 jstring 类型的字符串转换为 vc 能操作的 char * 型,但是中文为乱码。
使用 MultiByteToWideChar 或 WideCharToMultiByte 均无法正确转换。
(以上函数使用方法正确)
不知该用什么方法做中文字符的转换?望各位大侠相助,不胜感激!谢谢了。
解决方案 »
- MFC基于对话框窗口的程序问题,高手进来下
- 求个VC自动拨号的软件源码
- 如果一应用程序异常退出,会不会调用App::ExitInstance()
- 如何通过FindWindow获得Windows登陆窗口的HWND?
- 如何读取文件夹?
- winzip把一个文件拖到资源管理器里后,就开始解压缩了,怎么实现这种往资源管理器拖文件的功能?
- 如过你是公司老总,你会问什么?
- 这句什么意思(立刻给分!)
- 为什么在控制台下面使用CSocket出错呢?
- 我的MSDN没装起来,少了一个文件,哪位大虾能邮一个给我?OK?(三张光盘的)MSDN020.col QQ:14690274 [email protected]
- 请问如何查找特定目录下的文件和删除?
- 高分,能够限制程序运行次数的软件
在 java 中调用时传递 byte[] 类型至 dll ,哈哈哈哈 :)
需注意的是在 dll 中处理传过来的 jbyteArray 类型时的多余字符问题。
结贴,自己给自己上分了 :)