大家好:
我遇到这样的问题,用一个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的方法,也是非常感谢,给分的(实在不好意思,实在没分了)