url传输中出现中文的解决办法

5 篇文章 0 订阅
1 篇文章 0 订阅

以下在我代码的编译环境中通过,有以下两个页面

reponse.jsp页面:
   request.setCharacterEncoding("utf-8");//注意此必须要有,作用是是两个页面的编码相同
  String ch="白日依山尽,黄河入海流。\n欲穷千里目,更上一层楼。";

/*这里需要编码两次,我尝试如果编码一次会出现乱码,至于为什么是两次,有知道的小伙伴请告诉我一声,当然也可以写成ch=java.net.URLEncoder.encode(java.net.URLEncoder.encode(ch,"utf-8"),"utf-8");*/


   ch=java.net.URLEncoder.encode(ch,"utf-8");
   ch=java.net.URLEncoder.encode((ch),"utf-8"); 
   response.sendRedirect("show.jsp?ch="+ch);

 

show.jsp页面:

 response.setCharacterEncoding("utf-8");//注意这个必须要有,作用是与传输页面的编码保持一致
  String ch=request.getParameter("ch");
      ch=java.net.URLDecoder.decode(ch,"utf-8"); //解码只需要解一次,这个同上,有知道的小伙伴求告知
   /*在网上上打印传输过来的中文*/
      Writer w= response.getWriter();
      w.write(ch);
      w.flush();

效果:

 

安卓的实现方法:

HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("Content-Type","text/html;charset=utf-8");
conn.setRequestMethod("POST");

后端show.jsp不变

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值