java通过jna调用DLL里面的函数得到的中文乱码怎么解决?
答案:2 悬赏:70 手机版
解决时间 2021-03-17 15:11
- 提问者网友:献世佛
- 2021-03-16 17:49
java通过jna调用DLL里面的函数得到的中文乱码怎么解决?
最佳答案
- 五星知识达人网友:蕴藏春秋
- 2021-03-16 19:22
这样是不行的啊,你的问题出在C语言端,java统一是utf-8编码,而C语言不是,你这些写写个常量,编译为dll,java调用肯定错的。
你得在c里面返回unnicode码,方法:
用jdk工具,在jdk——home/bin下面有native2ascii.exe这个是转码用的工具
双击打开,
输入 北京
得到unicode码 \u00b1\u00b1\u00be\u00a9
应该 reutrn "\u00b1\u00b1\u00be\u00a9"; java再unicode编码处理即可
你得在c里面返回unnicode码,方法:
用jdk工具,在jdk——home/bin下面有native2ascii.exe这个是转码用的工具
双击打开,
输入 北京
得到unicode码 \u00b1\u00b1\u00be\u00a9
应该 reutrn "\u00b1\u00b1\u00be\u00a9"; java再unicode编码处理即可
全部回答
- 1楼网友:思契十里
- 2021-03-16 19:43
返回byte[]试试吧追问能不能给写一下c这边如何定义,我对c不是很了解···谢谢追答把eclipse项目的编码改成gbk试试追问没用的····都不行,在java这边做个很多测试,都没有用,应该在c那边先处理一下,能不能帮下忙···追答我对C也不熟啊,唉,爱莫能助追问好吧,谢谢啦啊····追答不客气,没能帮到你。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯