java HttpPost传入参数中文乱码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java HttpPost传入参数中文乱码相关的知识,希望对你有一定的参考价值。

HttpClient httpclient = new DefaultHttpClient();
HttpPost post = new HttpPost("/a/b/c?1=1&2=2&3=汉字");
post.setHeader("content-type", "application/json; charset=UTF-8");
HttpResponse rsp = httpclient.execute(host, post);

接受request 汉字就变成A%E6%B6%88%E8%B4%B9%E5%80%9F%E5%AD%97%E7%AC%AC1136%E5%8F%B7这样

参考技术A 以上的2个方法最好都要用上 过滤器只能解决POST请求 ,要处理GET请求就要用
bytes = string.getBytes("iso-8859-1") 得到原始的字节串,再用 string = new String(bytes, "GB2312") 重新得到正确的字符串 。
这个方法,所以最好2个都要写,这样不管是POST还是GET请求就都能解决了。追问

现在中文变成?????了

js url传值中文乱码完美解决(JAVA)

首先在你的jsp页面这样更改:

var url="你要传入的Action的位置&ipid="+ipid+"&keyWord="+key;

这里的key是中文,从input中取到值后,使用alert(key)发现中文没有乱码。

那么我们可以对url进行一下处理:url=encodeURI(url);

如果你以为这样就能解决乱码那你就错了,这时我们需要去我们url对应的接收参数的java方法中这样进行加工

String keyWord=new String(getParameter("keyWord").getBytes("ISO-8859-1"),"UTF-8");

此时你会发现keyWord已经不是乱码了

以上是关于java HttpPost传入参数中文乱码的主要内容,如果未能解决你的问题,请参考以下文章

java web项目 在linux服务器发送http post请求 中文乱码

js url传值中文乱码完美解决(JAVA)

为啥jsp页面中传入JavaBean对象里面的中文参数在调试时显示成员变量是乱码?

HttpClient中文乱码问题排查

jmeter中文乱码及Unicode转中文

java编码转换,get请求提交的中文参数乱码