|
半年前在部署jsp的lucene搜索到linux下的时候,出现了很多让人头疼的问题.我把一些问题写出来,希望对遇到这些问题的人能有所帮助
1:mysql的连接权限问题:
我在windwos下怎么测试都没有问题,可是一上linux连接mysql 就把我连接的帐号给deny掉了, 我是用user为"root"的帐号连接的,后来经过调试,发现linux连的是user字段为"root",host字段为"%",的帐号,因为user字段为"root"的帐号其实有两个,不知道为什么代码是一样的在linux上和windows上居然分别调用不同的root帐号.搞的狂郁闷,这也真是很难发现.后来想想大概知道了些原因.
2:编码问题:
java让人头痛的一个问题就是编码。 java为了更好的国际化导致程序经常出现编码问题,这次是lucene搜索用的spring框架,总结了一下其中包括以下几个编码要很仔细处理.
1:数据库读出的数据的编码.
2:将数据读出后用lucene建立的索引的编码
3:将索引分词时需要的编码.
4:form提交的搜索词的编码.
以上在windwos下很容易就测试通过了基本不用设定,可是到linux下编码就要很小心的处理,才能匹配上.
spring框架可以在web.xml中加个过滤类来转换提交字符.这个编码不能像想象中的一样简单的设为gbk,而要看mysql中的记录是什么编码,两者必须匹配才能搜出来.而这个匹配也不是简单的想象中可以设定的
|
|