jsp向数据库传递中文参数乱码问题的解决:
1,JSP页面中文显示乱码解决
估计大家都知道怎么解决,但是我还是想说明一下:
1)、JSP编码格式选择:
<%@ page language="java" contentType="text/html; charset=gb2312" //pageEncoding="utf-8"
%>
pageEncoding=”utf-8”这个页面编码格式可加可不加
但是中文显示,一定要下面加上这段代码,就放在开头或者随便哪里位置都行:我在下面的示例程序里面是写在了一个.JSP页面里的,然后就不用每次添加代码,只要把这段处理中文字符的代码,添加进来就行:
<%@ include file="codeToString1.jsp" %>
codeToString1.jsp里的代码为:
<%!
public String codeToString(String str)
{
//处理中文字符串的函数
String s=str;
try{
byte tempByte[]=s.getBytes("ISO-8859-1");
s=new String(tempByte);
return s;
}catch(Exception e){
return s;
}
}
%>
2,传参到数据库中文乱码解决
在JSP页面前端加上下面这行代码就行:(跳转前的页面,相当于服务器响应浏览器的编码风格)
<%request.setCharacterEncoding("gb2312");
//response.setContentType("text/html;charset=gb2312");pageEncoding="utf-8"
%>
3、创建数据库(贴出我的数据库,新手可以直接在navicat里面创建一模一样的table)
4、运行结果
!1注册程序
!2点击提交后结果显示,中文可以显示
!3处理之前的乱码图片
!4结果显示
5、完整源代码
注意:需要把上面的codeToString1.jsp包含进来,或者直接在开头写代码。
1、test1.jsp(注册程序块)
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%response.setContentType("text/html;charset=gb2312"); %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<script type="text/javascript">
function on_submit()
{
debugger;//这是调试用的,可以注释掉
if(form1.username.value=="")
{
alert("用户名不能为空,请输入用户名!");
form1.username.focus();
return false;
}
if(form1.password.value=="")
{
alert("密码不能为空,请输入密码!");
form1.userpassword.focus();
return false;
}
if(form1.repassword.value==