weixin_42331632 2009-12-08 09:56
浏览 231
已采纳

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 2009-12-08 12:16
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集