日期:2014-05-20  浏览次数:20663 次

关于lucene乱码!!!!!!!
如题,我在用lucene为html建立索引后,然后进行查询,发现查询出的中文标题,摘要全是乱码,而英文的没问题。
又发现:如果html页面编码是gb2312,则在建立索引后,进行查询时正常的。
  如果html页面编码是utf-8,则就出现乱码。

另外:对html建立索引时,添加一个字段是content(html内容中既有中文又有英文)
  简短代码如:HTMLParser parser = new HTMLParser(fis);
doc.add(new Field("content", parser.getReader()));
在查询时,输入中文时,查不出,英文则可以。
附:lucene版本是lucene-2.4.0

刚接触lucene,希望哪位大侠能给些建议!

------解决方案--------------------
那你就用gb2312的编码方式吧 utf汉字编码后是占三个字节的 估计问题出在这了

或者你手动转换一下编码再显示出来,不知道可以不 

String.getBytes();
------解决方案--------------------
可以使用过滤器进行过滤
------解决方案--------------------
用的是Tomcat吗?
可以试一下这个方法
修改server.xml中connnector端口那一块,注意看红色部分是新增的。
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
URIEncoding="UTF-8" useBodyEncodingForURI="true" />