jsp中删除 ,数据库中数据有中文时为什么就删不掉,同样修改也不行??? 数据库是mysql。
<%Stringusername=request.getParameter("username");Connectionconn=null;ResultSetrs=nul...
<%
String username=request.getParameter("username");
Connection conn=null;
ResultSet rs=null;
try
{
String sql="delete from user_table where username=?";
conn=DBUtil.getConn();
int rst=DBUtil.executeUpdate(conn,sql,username);
if(rst>0)
{
%>
删除用户成功!<a href="list.jsp">返回</a>
<%
}
else
{
%> 删除用户失败,请检查数据库!<a href="list.jsp">返回</a> <%
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally{
DBUtil.close(conn,null,rs);
}
%>
"username“是中文时就提示删除失败? 展开
String username=request.getParameter("username");
Connection conn=null;
ResultSet rs=null;
try
{
String sql="delete from user_table where username=?";
conn=DBUtil.getConn();
int rst=DBUtil.executeUpdate(conn,sql,username);
if(rst>0)
{
%>
删除用户成功!<a href="list.jsp">返回</a>
<%
}
else
{
%> 删除用户失败,请检查数据库!<a href="list.jsp">返回</a> <%
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally{
DBUtil.close(conn,null,rs);
}
%>
"username“是中文时就提示删除失败? 展开
5个回答
展开全部
你尝试打印一下你输过来的username中文名字是不是出现了乱码,我觉得可能是这个原因。如果是这个原因的话,你在传递参数的时候,就应该对request进行一线编码设置了。可以这么写request.setEncoding("gbk");或者使用过滤器。
追问
request.setCharacterEncoding("utf-8");程序中已经有了这个了;我不知道怎么让它中英文都可以删,过滤器该怎么用,不会用。。谢谢
追答
过滤器是自己编写的一个类,我给你看看吧。
package hong.his.common;
import java.io.IOException;
import javax.servlet.*;
/**
* 用于解决中文乱码的过滤器
*/
public class CharacterEncodingFilter implements Filter{
protected String encoding = null;
protected FilterConfig filterConfig = null;
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter("encoding");
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
if (encoding != null) {
request.setCharacterEncoding(encoding);
response.setContentType("text/html; charset="+encoding);
}
chain.doFilter(request, response);
}
public void destroy() {
this.encoding = null;
this.filterConfig = null;
}
}
web.xml添加下面这段配置。我这是针对我做过的工程配的,路径你应该适当修改。
CharacterEncodingFilter
hong.his.common.CharacterEncodingFilter
encoding
GBK
CharacterEncodingFilter
/*
展开全部
数据库中选择字符为utf8
否则数据库可能会乱码
。
打印下username是不是已经乱码了、
如果是配置一个fileter
、tomcat 的编码一定要和你jsp中的一样
否则数据库可能会乱码
。
打印下username是不是已经乱码了、
如果是配置一个fileter
、tomcat 的编码一定要和你jsp中的一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能是你的数据库编码有问题,设置 database charset为utf8看看。
如果之前数据库编码设置正确,那就把jsp页面编码设置为utf-8。
如果之前数据库编码设置正确,那就把jsp页面编码设置为utf-8。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个是JSP页面直接写的删除代码?你把页面的编码格式改成GBK或者GB2312或者UTF-8试试
建议使用MVC模式
建议使用MVC模式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-04-10
展开全部
不是啊,username是传入的用户名,它是根据传入的用户名来删除。 个人喜欢传入ID来删除
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询