0 0

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

大家好:
    我遇到这样的问题,用一个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),
问题补充:
如果是过来的请求乱码,在
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的方法,也是非常感谢,给分的(实在不好意思,实在没分了)
2009年12月08日 09:56

1个答案 按时间排序 按投票排序

0 0

采纳的答案

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

2009年12月08日 12:16

相关推荐

Global site tag (gtag.js) - Google Analytics