weixin_42331632
weixin_42331632
2009-12-08 09:56

servlet 接收httpclient 发出的http请求参数中文是乱码

已采纳

大家好:
我遇到这样的问题,用一个servlet接收其他系统通过httpclient发过来的请求,参数中有中文(值是一个xml,xml里的某个字段可能会有中文),这时候收到 的中文是“?????”, 发起方说他们发的是utf-8编码的,已经设置了contentType 是 text/html; charset=utf-8, enconding = "utf-8", 也尝试 str1 = new String(str1.getBytes("utf-8"),"GBK");
str2 = new String(str2.getBytes("ISO8859-1"),"GBK");就变成了各种乱码,请问谁能给提点建议? 或者说一下解决这个问题的思路, 有什么方法可以知道收到字符是什么编码? 先谢谢了! 对了用的服务器是BES(Tomcat),
[b]问题补充:[/b]
如果是过来的请求乱码,在
request.setCharestEncoding("utf-8");中设置

我已经设置过了, 现在猜测的问题的原因 是从 utf-8 转到 GBK的时候出现问题
1, 如果不从utf-8转gbk, 中文都是???
2. utf-8转gbk,使用的是str1 = new String(str1.getBytes("UTF-8"),"GBK"); 这样做有问题,变成了乱码。

如果能提供一种可用的 utf-8转gbk的方法,也是非常感谢,给分的(实在不好意思,实在没分了)

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • CaiHuajiang CaiHuajiang 12年前

    如果是过来的请求乱码,在
    request.setCharestEncoding("utf-8");中设置

    点赞 评论 复制链接分享

相关推荐