现在的位置: 首页 > 综合 > 正文

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

2013年12月07日 ⁄ 综合 ⁄ 共 1179字 ⁄ 字号 评论关闭

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

         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>

抱歉!评论已关闭.