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

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

         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>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值