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");  //获取用户输入的最喜欢去的地方
%>
时间: 2024-10-16 22:03:41

JSP中解决中文乱码的相关文章

解决jsp中的中文乱码问题笔记

一.JSP页面显示乱码 二.表单提交中文时出现乱码 三.数据库连接 大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着您,我现在把我在JSP开发中遇到 的中文乱码的问题及解决办法写出来供大家参考. 一.JSP页面显示乱码 下面的显示页面(display.jsp)就出现乱码: <html> <head> <title>JSP的中文处理</title> <meta http-equiv="Content-Type" con

关于js向jsp中传输中文乱码问题

最近做项目遇到的js向jsp中传中文结果是乱码,不知道是否是我换了用eclipse的原因还是什么,以前用的MyEclipse反正最后解决办法如下: 1.把js文件复制到桌面: 2.打开文件并用另存为utf-8格式: 3.文件复制进去覆盖原文件: 修改前文件格式是这样你就是把他换成utf-8也没有用 当你执行完了上述操作是就变为 只有这样才有效果 如果有更好的办法欢迎告知感谢不尽

mysql5.7中解决中文乱码的问题

在使用mysql5.7时,会发现通过web端向数据库中写入中文后会出现乱码,但是在数据库中直接操作SQL语句插入数据后中文就显示正常,这个问题怎么解决呢?此处不对mysql的数据编码过程和原理进行讲解,如果有兴趣的同学可以自己百度. 下面我们就直接使用如下操作解决: 一.打开mysql控制台,输入命令show variables like 'character%'; 显示如下: +--------------------------+-------------------------------

JS中解决中文乱码的2种方法

1.对象 request response 对象setCharacterEncoding=UTF-8 1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> 2 <% 3 //解决post/get 请求中文乱码的方法 4 request.setCharacterEncoding("UTF-8&qu

Servlet,JSP 中的中文乱码问题以及解决方案

问题描述: 在Servlet,JSP 传递数据中,英文无影响,而中文有时候就会出现乱码. 解决方案: 相同的编码: 同一个项目中的每个文件应当设置和保存相同的编码方式,如: html中 <meta charset="utf-8"> 在jsp 或者Servlet处理程序中添加: void setCharacterEncoding(java.lang.String env) 设置请求消息体的字符编码 如: request. setCharacterEncoding("

Python中解决中文乱码问题

乱码原因:因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件.但是windows的本地默认编码是cp936,也就是gbk编码,所以在控制台直接打印utf-8的字符串当然是乱码了. 解决方法:在控制台打印的地方用一个转码就ok了,打印的时候这么写:print myname.decode('UTF-8').encode('GBK') 比较通用的方法应该是:import systype = sys.getfilesystemencoding()print myname.decod

javaEE:day2-servlet生命周期、提交解决中文乱码、tomcat加载jar包或类文件的顺序

servlet生命周期 生命周期简介: servlet在服务器第一次被请求的时候new出来,并初始化(即init())再调用service方法.这个实在服务器中new出来,然后用HashMap加的,与客户端无关.客户端之后访问只调用这个servlet的service方法. 具体分为4步: 1 构造方法 :服务器在被客户端第一次请求的时候运行 仅在服务器中运行一次 2 init方法:客户端第一次访问服务器的时候在服务器中进行初始化 仅一次.并且可以通过config参数在 web.xml中通过(ke

解决jsp参数传递的中文乱码问题

解决jsp参数传递的中文乱码问题 制作人:全心全意 在jsp页面中,通过参数传递传递中文时,在显示参数值时中文内容变成了乱码.这是因为请求参数的文字编码方式与页面中的不一致造成的,所有的request请求都是ISO-8859-1的,而大多数页面采用的是UTF-8的编码方式.要解决此问题,只要将获取到的数据通过String的构造方法使用指定的编码类型重新构造一个String对象,即可正确地显示出中文信息. 例: 原文地址:https://www.cnblogs.com/zhangquan-yw/p

解决Centos 6.3 中 gedit中文乱码问题

1.安装gconf-editor yum list | grep conf-editor yum install gconf-editor 2.运行gconf-editor 设置: apps  ---> gedit-2  --->  preferences  ----> encoding auto-detected 项添加Add New list value: GB2312 shown_in_menu 项添加 New list value: GB2312  解决Centos 6.3 中