zoukankan      html  css  js  c++  java
  • JSP中解决中文乱码

    <%@ page language="java" contentType="text/html;charset=gbk" pageEncoding="gbk"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=gbk">
    <title>输入用户名</title>
    </head>
    <body>
    <form id="form1" name="form1" method="post" action="session.jsp">
        <div align="center">
      <table width="23%" border="0">
        <tr>
         <td width="36%"><div align="center">您的名字是:</div></td>
         <td width="64%">
            <label>
            <div align="center">
              <input type="text" name="name"/>
            </div>
            </label>
            </td>
        </tr>
        <tr>
         <td colspan="2">
          <label>
            <div align="center">
                <input type="submit" name="Submit" value="提交"/>
            </div>
          </label>
         </td>
        </tr>
      </table>
        </div>
    </form>
    </body>
    </html>
    <%@ page language="java" contentType="text/html;charset=gbk" pageEncoding="gbk"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=gbk">
    <title>输入最想去的地方</title>
    </head>
    <body>
    <%
        String name=request.getParameter("name"); //获取用户填写的用户名  此处会导致中文乱码
        session.setAttribute("name",name);  //将用户名保存在session对象中
    %>
        <div align="center">
     <form id="form1" name="form1" method="post" action="result.jsp">
        <table width="28%" border="0">
         <tr>
            <td>您的名字是:</td>
            <td><%=name%></td>
         </tr>
         <tr>
            <td>您最喜欢去的地方是:</td>
            <td><label>
                <input type="text" name="address"/>
                </label>
            </td>
         </tr>
         <tr>
            <td colspan="2"><label>
            <div align="center">
                <input type="submit" name="Submit" value="提交"/>
            </div>
            </label>
            </td>
         </tr>
        </table>
     </form>
    </body>
    </html>
    <%@ page language="java" contentType="text/html;charset=gbk" pageEncoding="gbk"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=gbk">
    <title>显示结果</title>
    </head>
    <body>
    <% 
        String name=session.getAttribute("name").toString();  //获取保存在session范围内的对象
        String solution=request.getParameter("address");  //获取用户输入的最喜欢去的地方   此处同样会导致中文乱码
    %>
    <form id="form1" name="form1" method="post" action="">
        <table width="28%" border="0">
            <tr>
                <td colspan="2"><div align="center"><strong>显示答案</strong></div></td>
            </tr>
            <tr>
                <td width="49%"><div align="left">您的名字是:</div></td>
                <td width="51%"><label>
                <div align="left"><%=name%></div>
                </label></td>
            </tr>
            <tr>
                <td><label>
                  <div align="left">您最喜欢去的地方是:</div>
                  </label></td>
                <td><div align="left"><%=solution%></div></td>
            </tr>
        </table>
    </form>
    </body>
    </html>

    在显示参数值时中文内容变成了乱码,这是因为请求参数的文字编码方式与页面中的不一致所造成的,所有的request请求都是ISO-8859-1的,而在页面中采用的是gbk编码方式。要解决此问题,只要将获取到的数据通过String的构造方法使用指定的编码类型重新构造一个String对象,即可正确地显示出中文信息。

    <%
        String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"gbk"); //获取用户填写的用户名
        session.setAttribute("name",name);  //将用户名保存在session对象中
    %>
    <% 
        String name=session.getAttribute("name").toString();  //获取保存在session范围内的对象
        String solution=new String(request.getParameter("address").getBytes("ISO-8859-1"),"gbk");  //获取用户输入的最喜欢去的地方
    %>
  • 相关阅读:
    关于response.getWriter()写回数据的实际发生时间点
    警惕多iframe下的同名id引起的诡异问题
    spring注入静态成员变量提示invalid setter method
    plsql+绿色版oracle连接远程数据库配置及提示缺少msvcr71.dll解决方法
    <mvc:default-servlet-handler/>导致SimpleUrlHandlerMapping失效
    maven项目下jsp文件中el表达式失效问题
    Python爬虫框架Scrapy实例(三)数据存储到MongoDB
    Python爬虫实例(五) requests+flask构建自己的电影库
    MySQL与Python交互
    Python爬虫基础(四)Requests库的使用
  • 原文地址:https://www.cnblogs.com/gaopeng527/p/4418353.html
Copyright © 2011-2022 走看看