JSP传递参数中文乱码问题的一种解决方法

本文介绍了一种解决中文乱码的有效方法,通过设置request的字符编码为gb2312来确保表单提交的数据能够正确解析。示例使用了JSP页面及JavaBean进行展示。

最近经常会遇到中文乱码的问题,在解决问题的过程中,我又得知了一种蛮好的解决方法:

<% request.setCharacterEncoding(“gb2312”);%>;

例如:

index.jsp文件

<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>输入书的相关信息</title>
</head>
<body>
<form action="saveinfo.jsp" method="post" name="bookinfo">

<table border="1">

<tr>
<td>书号
</td>
<td>
<input type="text" name="bid">
</td>
</tr>

<tr>
<td>书名
</td>
<td>
<input type="text" name="bname">
</td>
</tr>

<tr>
<td>数量
</td>
<td>
<input type="text" name="bnumber">
</td>
</tr>

<tr>
<td>作者
</td>
<td>
<input type="text" name="bauthor">
</td>
</tr>

<tr>
<td>
<input type="submit" name="submit" value="提交">
</td>
</tr>

</table>

</form>
</body>
</html>

===================================================================================================================================

saveinfo.jsp文件

<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>
<% request.setCharacterEncoding( "gb2312");%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>查看书籍信息</title>
</head>
<body>
<jsp:useBean id="bookbean" scope="session" class="com.javaBean.viewbook"></jsp:useBean>
<jsp:setProperty name="bookbean" property="*"/>
<a href="bookinfo.jsp">查看书籍信息</a>
</body>
</html>

===================================================================================================================================

bookinfo.jsp文件

<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>书籍信息</title>
</head>
<body>
<% request.setCharacterEncoding( "gb2312");%>
<jsp:useBean id="bookbean" scope="session" class="com.javaBean.viewbook"></jsp:useBean>
<jsp:setProperty name="bookbean" property="*"/>
<table border="1">

<tr>
<td>书号
</td>
<td>
<%=bookbean.getBid() %>
</td>
</tr>

<tr>
<td>书名
</td>
<td>
<%=bookbean.getBname() %>
</td>
</tr>

<tr>
<td>数量
</td>
<td>
<%=bookbean.getBnumber() %>
</td>
</tr>

<tr>
<td>作者
</td>
<td>
<%=bookbean.getBauthor() %>
</td>
</tr>

</table>
</body>
</html>

===================================================================================================================================

viewbook.java文件

package com.javaBean;

/**
* Session Bean implementation class viewbook
*/

public class viewbook {
int bid;
String bname;
int bnumber;
String bauthor;


/**
* Default constructor.
*/
public viewbook() {
// TODO Auto-generated constructor stub
}

public void setBid(int bid) {
this.bid=bid;
}
public int getBid() {
return bid;
}

public void setBname(String bname) {
this.bname=bname;
}
public String getBname() {
return bname;
}

public void setBnumber(int bnumber) {
this.bnumber=bnumber;
}
public int getBnumber() {
return bnumber;
}

public void setBauthor(String bauthor) {
this.bauthor=bauthor;
}
public String getBauthor() {
return bauthor;
}

}

在saveinfo.jsp文件中添加 <% request.setCharacterEncoding( "gb2312");%>
即可解决问题

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值