linux下java调用so库的编码问题,急急急急急急!

z356675143 2014-05-12 11:05:59
我在linux下用java简单写了个调用so的程序,但是我在java调用so参数传汉字的时候,出现乱码,数字和字母都正常显示,我知道编码格式不正确,但是不知道java下string定义的字符串和用C写的定义的char的字符串格式有什么不同,也不知道怎么转换,大神们帮帮忙,给个能把java定义的string转换成C里面char可以正常显示的方法(数字和字母都可以正常显示,汉字乱码)

这是我的java代码

这是java调用so 的时候,C里面的函数

这是java调用so里面的Send_Data()函数的时候,转换后,数字和字母能正常显示,汉字printf出来就乱码了
...全文
172 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
z356675143 2014-05-12
  • 打赏
  • 举报
回复
我不知道,就直接截图了, 有大神能解决下吗?
707wk 2014-05-12
  • 打赏
  • 举报
回复
而且这个问题应该发到linux板块
707wk 2014-05-12
  • 打赏
  • 举报
回复
为什么不发代码,而发图片?
z356675143 2014-05-12
  • 打赏
  • 举报
回复
大神们,问题解决了,我java里面传参数到C的时候用的是jstring ,而c里面接收参数的时候用的是char,只要把jstring转换成char就正常了,然后C回传给java的时候,就把char转换成jstring,谢谢你们。
bEst_02 2014-05-12
  • 打赏
  • 举报
回复
c的实现代码多贴点
707wk 2014-05-12
  • 打赏
  • 举报
回复
linux的汉字编码是UTF-8,而windows上的汉字编码是GB2312,可能和这儿有关系
赵4老师 2014-05-12
  • 打赏
  • 举报
回复
我猜java字符串编码是utf8

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧