jsp中如何解决数据库中文查询?

sw47 2004-07-10 11:38:37
resin环境,数据库字段为中文名
在jsp中select * from [user] where 用户名='"+Uname+"' and 密码='"+Upass+"'"查询不到内容
在sql中可以查询到

把字段改为英文名在jsp中就可以查询到

请问如何才能让jsp支持中文查询?
...全文
243 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
AgathaZ 2004-07-11
  • 打赏
  • 举报
回复
你把有中文的转一下码就可以了,我以前也遇到过这样的问题,这样解决就没事了。
sw47 2004-07-11
  • 打赏
  • 举报
回复
在jsp下,你输入的中文是gb2312码
你得转换成8859_1码,才能进行你所想做的数据库操作


晕,读出来转换一次数据库中文,

查询前在转换一次查询语句,这么麻烦啊
wwwzzzyyy 2004-07-11
  • 打赏
  • 举报
回复
做一个 filter servlet 整个网站系统都不用管理中文问题 那就舒服
sw47 2004-07-11
  • 打赏
  • 举报
回复
怎么转啊?
stone_q 2004-07-10
  • 打赏
  • 举报
回复
这和jsp没关系,要看你的数据库支持中文否?
ccc426 2004-07-10
  • 打赏
  • 举报
回复
你加[]试试
wdeli521 2004-07-10
  • 打赏
  • 举报
回复
好像不行。
leejianbao2103 2004-07-10
  • 打赏
  • 举报
回复
up
朋友别哭 2004-07-10
  • 打赏
  • 举报
回复
up
rainworm 2004-07-10
  • 打赏
  • 举报
回复
在jsp下,你输入的中文是gb2312码
你得转换成8859_1码,才能进行你所想做的数据库操作
jiankou2001 2004-07-10
  • 打赏
  • 举报
回复
大家说得都好!!
不过我认为
wowonan()是不是写成Bean这样不是更好吗???
sw47 2004-07-10
  • 打赏
  • 举报
回复
是mssql,在sql中可以查询
zhugegod 2004-07-10
  • 打赏
  • 举报
回复
给你几个字符串转换的方法,你试试看:

String s="需要转换的字符串";
1.s=new String(s.getBytes(),"iso-8859-1");
2.s=new String(s.getBytes(),"gb2312");
3.s=new String(s.getBytes("iso-8859-1"),"gb2312");
4.s=new String(s.getBytes("gb2312"),"iso-8859-1");
5.s=new String(s.getBytes("iso-8859-1"));
6.s=new String(s.getBytes("gb2312"));


希望对你有帮助
tdnn 2004-07-10
  • 打赏
  • 举报
回复
把SQL语句单独到数据库里面试试,一般db2,oracle都不存在这样的问题。
ningIII 2004-07-10
  • 打赏
  • 举报
回复
赫赫,oracle数据库支持中文字段!

看你用的是什么数据库了!
lhbf 2004-07-10
  • 打赏
  • 举报
回复
你可以将整个sql语句来一下转码看看。
wowonan 2004-07-10
  • 打赏
  • 举报
回复
<%!
String trans(String chi)
{
String result = null;
byte temp [];
try
{
temp=chi.getBytes("iso-8859-1");
result = new String(temp);
}
catch(java.io.UnsupportedEncodingException e)
{
System.out.println (e.toString());
}
return result;
}
String trans(Object chi)
{
return trans(chi.toString());
}
%>
把以上代码include进去,然后查询语句改成
select * from user where 用户名='"+trans(Uname)+"' and 密码='"+Upass+"'"
xiaowengweng 2004-07-10
  • 打赏
  • 举报
回复
你用的什么数据库??我在resin+sql2000下用中文字段一点问题没有!你的表名加中括号干什么??另外字段名=后面应该有空格!!
s3p 2004-07-10
  • 打赏
  • 举报
回复
有时候要用到中文处理。
处理中文问题的自定义函数:
<%!
public String getStr(String str)
{
try
{
String temp_p=str;
byte[] temp_t=temp_p.getBytes("GBK");
String temp=new String(temp_t,"ISO8859_1");
return temp;
}
catch(Exception e)
{

}
return "null";
}
%>

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧