最近在项目中遇到一个问题,客户端使用apache httpclient向服务端发送消息,如发送内容全是英文,没有问题。但是如发送中文则在服务端会接受到乱码,解决如下:
在HttpClient httpClient = new HttpClient() ;前加入以下语句之一
- postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
- postMethod.addRequestHeader("Content-Type","text/html;charset=UTF-8");
- postMethod.setRequestHeader("Content-Type","text/html;charset=UTF-8")
在服务端返回消息是,带有中文也是乱码,需要在服务端设置
- response.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
本文介绍了解决使用Apache HttpClient发送包含中文的消息时出现乱码的方法。通过设置客户端请求头和服务器响应编码为UTF-8,确保了中文字符正确传输。
549

被折叠的 条评论
为什么被折叠?



