注册 登录
编程论坛 J2EE论坛

[求助]关于JSP页面中变量的中文值和数据库中的中文值问题?

zhangrui_fd 发布于 2006-03-18 10:46, 850 次点击

在JSP页面的表单中有一个<input type="text" value="" name="name1">
在此框中输入姓名之后与MySQL数据库中的name字段对比的时候总没有匹配的内容,但是当数据库中字段内容和上面文本框中的内容都为英文字符的时候就可以正常显示查询结果。我想大概又是中文问题,请教了!

8 回复
#2
wangtaobig2006-03-18 11:56
你的字符集不对,
如,String name = request.getParameter("name1");
String name1 = new String(name.trim().getBytes("iso-8859-1"));
你在把name1写入数据库中,OK,明白了吗?
#3
zhangrui_fd2006-03-18 11:57

谢谢,我现在就试试!

#4
zhangrui_fd2006-03-18 12:34

我试了,不行呀,我前面是这样定义的:
<?xml version="1.0" encoding="GBK" ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<%@ page contentType="text/html;charset=GBK" %>
request.setCharacterEncoding("GBK");
response.setContentType("text/html; charset=GBK");

String url="jdbc:mysql://localhost:3306/sampdb?user=root&password=2002263&characterEncoding=GBK";
%>
好昏呀我。显示是正常的,就是和数据库的内容对比的时候就不是一样的值。
对数据库的字符集、表的字符集以及字段的字符集有什么要求吗?我的数据库、表、字段的字符集都是GBK。

#5
zhangrui_fd2006-03-18 14:37

我又分析了一下,能从数据库中正确读出中文,并且能正确显示。

好像只是<input type="text" value="" name="name1">
上面这个框中输入的中文无法正确识别。

#6
zhangrui_fd2006-03-18 14:40
已经确定,就是<input type="text" value="" name="name1">
中输入的中文无法正确识别。该怎么办啊?
#7
zhangrui_fd2006-03-18 18:30

没有人指点两句啊?

#8
zhangrui_fd2006-03-19 17:15

还是文本框的中文字符无法正确显示,我快昏倒了。

#9
wangtaobig2006-03-20 20:24
你把request.setCharacterEncoding("GBK")中的GBK改成gb2312看看行不!
1