jsp 传数据到数据库 输入的是中文而数据库里面中文变乱码 我用的数据库是SQL 2000 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 注册页面部分代码(小女子请教了):<form name="memberForm" action="saveUser.jsp?action=0" method="post" onsubmit="return checkEmpty(memberForm)"><table width="270" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="107" height="35"> <div align="right">用户名称:</div></td> <td width="163"> <div align="left"> <input type="text" name="name"/> </div></td></tr> <tr> <td height="35"> <div align="right">用户密码:</div></td> <td> <div align="left"> <input type="password" name="password"> </div></td></tr> <tr> <td height="35"> <div align="right">密码确认:</div></td> <td> <div align="left"> <input type="password" name="passwordOne"/> </div></td></tr> <tr> <td height="35"> <div align="right">真实姓名:</div></td> <td> <div align="left"> <input type="text" name="reallyName"/> </div></td></tr> <tr> <td height="35"> <div align="right">年龄:</div></td> <td> <div align="left"> <input type="text" name="age"/> </div></td></tr> <tr> <td height="35"> <div align="right">职业:</div></td> <td> <div align="left"> <input type="text" name="profession"/> </div></td></tr> <tr> <td height="35"> <div align="right">Email地址:</div></td> <td> <div align="left"> <input type="text" name="email"/> </div></td></tr> <tr> <td height="35"> <div align="right">找回密码问题:</div></td> <td> <div align="left"> <input type="text" name="question"/> </div></td></tr> <tr> <td height="35"> <div align="right">答案:</div></td> <td>- <div align="left"> <input type="text" name="result"/> </div></td></tr> </table> <br><input type="image" class="input1" src="image/save.jpg" width="51" height="20"> <a href="#" onClick="javascript:memberForm.reset()"><img src="image/clear.gif" ></a> <a href="#" onClick="javasrcipt:history.go(-1)"><img src="image/back.gif"></a>传参并把数据传到数据库中代码:<%@ page contentType="text/html; charset=gb2312" %><%@ page import="javax.servlet.http.*" %><%@ page import="linyu.com.bean.MemberBean" %><%@ page import="java.io.IOException" %><%@ page import="java.util.*" %><%@ page import="linyu.com.dao.MemberDao" %><jsp:useBean id="form" scope="session" class="linyu.com.bean.MemberBean"></jsp:useBean><jsp:setProperty property="*" name="form"/><% //用户管理 MemberDao dao = new MemberDao(); int action = Integer.parseInt(request.getParameter("action")); switch (action) { case 0: { // 添加用户信息 MemberBean member = dao.selectMemberForm(form.getName()); if (member == null || member.equals("")) { if (dao.insertMember(form)){ request.setAttribute("registerResult", "注册成功!!!"); }else{ request.setAttribute("registerResult", "数据库操作失败,注册不成功!请重新注册!"); } } else { request.setAttribute("registerResult", "该会员名称已经存在!!!!!!"); } %> <jsp:forward page="userRegisterResult.jsp"></jsp:forward> <% } case 4: {// 删除用户信息 if(dao.deleteMember(Integer.valueOf(request.getParameter("id")))){ %> <script language='javascript'>alert("删除成功!!!");window.location.href='userSelect.jsp';</script> <% }else{ %> <script language='javascript'>alert("该用户还有订单,不能删除!!!");window.location.href='userSelect.jsp';</script> <% } } case 2: {//修改用户信息 if (dao.updateMember(form)){ request.setAttribute("userUpdateResult", "用户信息修改成功!!!"); }else{ request.setAttribute("userUpdateResult", "数据库操作失败,用户信息修改不成功!请重新操作!"); } %> <jsp:forward page="userUpdateResult.jsp"></jsp:forward> <% } }%> 我在实例中及Member中 我定义真实姓名,问题,答案都是String 类型 我用Mysql时也有遇到这个问题,就是说页面要哟页面的设置,就是页面开头的时候,要设我的是utf-8。。然后你的 <%@ page contentType="text/html; charset=gb2312" %>中的字符设置,gb2312要和 数据库的设置一样才可以哈,数据库若是gbk这个也要是gbk。。等等。。不知道有没有帮助其实可以先看一下,如果只是页面之间的转换有没有乱码问题,就是写两个页面,然后这个输入,那个显示。看看能不能显示中文。然后再和数据库连接,这样就可以知道到底是什么的问题了 前台,后台都用utf-8,后天得到的数据若还是乱码就转一下如下:String place = request.getParameter("place"); place = new String(place.getBytes("ISO8859-1"),"UTF-8"); <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>这不是jsp页面代码的第一行那嘛,都改成utf-8就行了吧 我都改成了,提交页面也改了但是,我测试页面用了 request.setCharacterEncoding("gb2312");能通过但是我把它写到提交数据那页面就没成功呢。还是乱码。那页面的代码在上面。赐教 Server returned HTTP response code: 500 for URL 这句错那了? 关于sql语句联合查询时碰到空值时的问题 100分求助:jdbc中如何捕获MySQLSyntaxErrorException 如何实现无限级动态树型菜单呢,用xmlhtml和xtree.js。 JSF问题? JS乱码问题 大家说说自定义和javaBean应用的差别,和实际使用的情况! 关于用String.getBytes("ISO-8859-1")进行中文处理的问题 菜鸟问题,关于页面跳转的!在线等待 jsp页面提交的问题,进者有分 多用户商城的会员主页路径问题
<form name="memberForm" action="saveUser.jsp?action=0" method="post" onsubmit="return checkEmpty(memberForm)"><table width="270" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="107" height="35">
<div align="right">用户名称:</div></td>
<td width="163">
<div align="left">
<input type="text" name="name"/>
</div></td></tr>
<tr>
<td height="35">
<div align="right">用户密码:</div></td>
<td>
<div align="left">
<input type="password" name="password">
</div></td></tr>
<tr>
<td height="35">
<div align="right">密码确认:</div></td>
<td>
<div align="left">
<input type="password" name="passwordOne"/>
</div></td></tr>
<tr>
<td height="35">
<div align="right">真实姓名:</div></td>
<td>
<div align="left">
<input type="text" name="reallyName"/>
</div></td></tr>
<tr>
<td height="35">
<div align="right">年龄:</div></td>
<td>
<div align="left">
<input type="text" name="age"/>
</div></td></tr>
<tr>
<td height="35">
<div align="right">职业:</div></td>
<td>
<div align="left">
<input type="text" name="profession"/>
</div></td></tr>
<tr>
<td height="35">
<div align="right">Email地址:</div></td>
<td>
<div align="left">
<input type="text" name="email"/>
</div></td></tr>
<tr>
<td height="35">
<div align="right">找回密码问题:</div></td>
<td>
<div align="left">
<input type="text" name="question"/>
</div></td></tr>
<tr>
<td height="35">
<div align="right">答案:</div></td>
<td>-
<div align="left">
<input type="text" name="result"/>
</div></td></tr>
</table>
<br>
<input type="image" class="input1" src="image/save.jpg" width="51" height="20">
<a href="#" onClick="javascript:memberForm.reset()"><img src="image/clear.gif" ></a>
<a href="#" onClick="javasrcipt:history.go(-1)"><img src="image/back.gif"></a>
传参并把数据传到数据库中代码:
<%@ page contentType="text/html; charset=gb2312" %><%@ page import="javax.servlet.http.*" %>
<%@ page import="linyu.com.bean.MemberBean" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.util.*" %>
<%@ page import="linyu.com.dao.MemberDao" %>
<jsp:useBean id="form" scope="session" class="linyu.com.bean.MemberBean"></jsp:useBean>
<jsp:setProperty property="*" name="form"/><%
//用户管理
MemberDao dao = new MemberDao();
int action = Integer.parseInt(request.getParameter("action"));
switch (action) {
case 0: { // 添加用户信息
MemberBean member = dao.selectMemberForm(form.getName());
if (member == null || member.equals("")) {
if (dao.insertMember(form)){
request.setAttribute("registerResult", "注册成功!!!");
}else{
request.setAttribute("registerResult", "数据库操作失败,注册不成功!请重新注册!");
}
} else {
request.setAttribute("registerResult", "该会员名称已经存在!!!!!!");
}
%>
<jsp:forward page="userRegisterResult.jsp"></jsp:forward>
<%
}
case 4: {// 删除用户信息
if(dao.deleteMember(Integer.valueOf(request.getParameter("id")))){
%>
<script language='javascript'>alert("删除成功!!!");window.location.href='userSelect.jsp';</script>
<%
}else{
%>
<script language='javascript'>alert("该用户还有订单,不能删除!!!");window.location.href='userSelect.jsp';</script>
<%
}
}
case 2: {//修改用户信息
if (dao.updateMember(form)){
request.setAttribute("userUpdateResult", "用户信息修改成功!!!");
}else{
request.setAttribute("userUpdateResult", "数据库操作失败,用户信息修改不成功!请重新操作!");
}
%>
<jsp:forward page="userUpdateResult.jsp"></jsp:forward>
<%
}
}
%>
然后你的 <%@ page contentType="text/html; charset=gb2312" %>中的字符设置,gb2312要和 数据库的设置一样才可以哈,数据库若是gbk这个也要是gbk。。等等。。不知道有没有帮助其实可以先看一下,如果只是页面之间的转换有没有乱码问题,就是写两个页面,然后这个输入,那个显示。看看能不能显示中文。
然后再和数据库连接,这样就可以知道到底是什么的问题了
如下:String place = request.getParameter("place");
place = new String(place.getBytes("ISO8859-1"),"UTF-8");
我都改成了,提交页面也改了但是,我测试页面用了 request.setCharacterEncoding("gb2312");能通过但是我把它写到提交数据那页面就没成功呢。还是乱码。那页面的代码在上面。赐教