zoukankan      html  css  js  c++  java
  • 解决POST和GET方式的中文乱码问题

    如果表单中含有中文,采用GET或者POST提交请求时,getParameter()方法接收到的参数值乱码。

    1、乱码产生的原因
    请求参数通过浏览器发送给Tomcat服务器,浏览器发送编码,但是tomcat默认采用ISO-8859-1编码进行处理,因此利用getParamenter()取出是乱码。

    2、POST提交时的解决方法
    在Servlet中调用request.getParameter()方法,执行下面代码

    1 //解决post中文乱码,将tomcat解析HTTP协议body体编码设置为UTF-8
    2  request.setCharacterEncoding("UTF-8");

    3、GET提交时的解决方法
    GET提交时,参数是采用HTTP协议head传递,因此request.setCharacterEncoding()对get无效。需要手动编码转换。

    1 String name = request.getParameter("name");
    2 //将name采用UTF-8转码
    3 name = new String(name,getBytes("ISO-8859-1"),"UTF-8");

    建议:在使用中,如果存在中文信息提交,推荐使用POST提交。

  • 相关阅读:
    购物车宣传页
    项目开发流程
    AJAX跨域
    jQuery中的AJAX
    AJAX封装
    AJAX里使用模板引擎
    AJAX的具体使用
    AJAX的基本使用
    js技巧汇总
    CSS特效汇集
  • 原文地址:https://www.cnblogs.com/gnos/p/13218067.html
Copyright © 2011-2022 走看看