jsp页面中中文乱码的处理措施

来源:互联网 发布:阿里云大厦 深圳 编辑:程序博客网 时间:2024/06/06 03:13

         一个小例子引出中文乱码的问题:

         input.html:
        <form action="input.jsp" method="post">

                      你的姓名:<input type="text" name="name"/>

                      <input type="submit" value="显示"/>

        </form>

       input.jsp

       <%@page contentType="text/html;charset=GBK"%>

       <%

                          String userName = request.getParameter("name")

        %>

         <h2>你的姓名:<%=userName%></h2>

       显示的是乱码---------

-------------------------------------------------------------------------------------------

       乱码产生的原因是什么:

       分析所有的静态WEB的执行流程,是先从服务器上取得一个页面,之后通过此页面把内容进行提交,提交给服务器,之后服务其再将提交的内容返回给客户进行显示。那么可以确认乱码是在页面加载时产生的,准确的说是由于页面显示的编码集为GBK,但是页面加载却是用的是ISO8859-1,所以可以引出第一种解决方案来:
       <%page contentType="text/html;charse=GBK"%>

       <%

                          String userName = request.getParameter("name");

                           userName = new String(userName.getBytes("ISO8859-1"));

       %>

       <h2>你的姓名:<%=userName%></h2>

        第二种解决方案:

        input.jsp

       <%@page contentType="text/html;charset=GBK"%>

       <%

                          request.setCharacterEncoding("GBK");

                          String userName = request.getParameter("name")

        %>

         <h2>你的姓名:<%=userName%></h2>


原创粉丝点击