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这样
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请求 中文乱码