十万火急,请帮忙解决乱码问题

chinaewolf 2004-10-19 06:23:21
我现在做二次开发,通过原厂商提供的api取回数据,但是取回的数据中文部分都是乱码,

String name=treatment.getName();
System.out.println(name);
这个时候就name已经是乱码了,如果name应该是“你”的话,打印出来的就是“脛茫”。
我试了很长时间,也没有找到把“脛茫”转换成“你”的办法。
please help me
...全文
228 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinaewolf 2004-10-22
  • 打赏
  • 举报
回复
问题还未解决,
谢谢大家帮忙
揭帖接分
beanssir 2004-10-21
  • 打赏
  • 举报
回复

还是找原厂商的技术人员问问他们是怎么转编码的,再有针对的进行转码吧
没准是他们的一个bug呢
chinaewolf 2004-10-21
  • 打赏
  • 举报
回复
还是找厂商修改接口吧
apple21 2004-10-20
  • 打赏
  • 举报
回复
????就是编码的问题了,不是范围大的编码落的小范围(如unicode转iso-8859-1)或小范围落到大范围(如iso-8859-1转unicode)都会出现????
香芋元宇宙 2004-10-20
  • 打赏
  • 举报
回复
试试这个

String name=treatment.getName();
name=new String(name.getBytes("ISO8859_1"),"GB2312");
System.out.println(name);
chinaewolf 2004-10-20
  • 打赏
  • 举报
回复
回复 西京布衣
早就试过了,用你那种方法得到的name是“??”
还是不对
chinaewolf 2004-10-20
  • 打赏
  • 举报
回复
回复 西京布衣
早就试过了,用你那种方法得到的name是譎
还是不对
jnu_wen 2004-10-19
  • 打赏
  • 举报
回复
String name=treatment.getName();
name = new String(name.getBytes("ISO8859_1"),"GBK");

just try!
alpha15 2004-10-19
  • 打赏
  • 举报
回复
首先要弄懂他的编码方式是怎么的
不过你可以以字节的形式读出来
chinaewolf 2004-10-19
  • 打赏
  • 举报
回复
我取数据只能通过厂商提供的接口,而不能直接读数据库,
接口,只是返回给我一个DTO,我取的时候只能是
DTO treatment=FactoryDAO.get(id);
String name=treatment.getName();
我看到的getName()就已经是乱码“脛茫”了,而且,数据库中的name是“你”也搞不清楚“脛茫”是怎么出来的
现在我只能对这个乱码进行解析,如果能有什么方法能够把“脛茫”转换为“你”就成功了
廖秀锋 2004-10-19
  • 打赏
  • 举报
回复
是从数据库中读的么
shangqiao 2004-10-19
  • 打赏
  • 举报
回复
首先应该弄明白数据是从哪儿出来的,一般来说编码方式可能是iso-8859-1编码,你试试看
result=new String(msg.get("iso-8859-1"),"gbk");看看

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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