注册 登录
编程论坛 J2EE论坛

很急~~关于中文搜索的问题

skywolfkun 发布于 2007-10-20 21:34, 1069 次点击
我有一个站内的数据库搜索网站,就是输入某关键字然后在数据库中搜索相应的数据
发布后发现职能搜索英文的数据,如果输入中文的数据后显示的是没有结果!请问为什么!
我用的是TOMCAT 5.5,数据库是oracel的!谢谢!
11 回复
#2
醉卧千山2007-10-20 23:36
应该是出现了乱码,所以和数据库里取出的数据对应不起来
#3
skywolfkun2007-10-21 10:22
那怎么解决呢?还有哦!这个JSP我怎么编译不起来啊?
#4
醉卧千山2007-10-21 13:53
不能直接全部解决的话就在查询数据时,用String的构造方法,重新编码一次
像这样:
String str = new String("string".getBytes(),"gb2312");
JSP编译不起来?什么意思?
#5
skywolfkun2007-10-21 20:25

什么意思啊?举个例子赖~在哪边改啊?

#6
枫飘天涯2007-10-21 22:10
以下是引用醉卧千山在2007-10-21 13:53:48的发言:
不能直接全部解决的话就在查询数据时,用String的构造方法,重新编码一次

像这样:

String str = new String("string".getBytes(),"gb2312");
JSP编译不起来?什么意思?

从数据库中取出数据以后 按楼上说的方法把取出的数据 重样编码一次

#7
午夜屠猪男2007-10-21 22:35
request.setCharacterEncoding("GB2312") ;
试试
#8
guoxhvip2007-10-21 23:30
LS的方法针对超链接传值好象不行
#9
skywolfkun2007-10-23 22:06
试过了!来看看这段代码!就是输入姓名然后传值给下面这段可输入英文是正确的可输入中文就是问号!
<%@ page pageEncoding="gb2312" %>
<%@ page contentType="text/html;charset=gb2312 %>
<% request.setcharacterencoding("gb2312");%>
<tr>
<td>姓名<%=request.getparameter("username") %>
</td>
</tr>
#10
无缘今生2007-10-24 11:31
使用 utf-8 试试
#11
skywolfkun2007-10-24 12:48
把GB2312该成utf-8?
#12
blackboy2007-10-25 18:10

与数据库打交道是中文 String str = new String(str.getByte("ISO-8859-1"));就能解决了

1