zhyiwww
用平实的笔,记录编程路上的点点滴滴………
posts - 536,comments - 394,trackbacks - 0
应该在以下几个地方检查:

1:检查mysql安装目录下的配置文件my.ini,

[mysql]
默认的default-character-set=latin1
改为default-character-set=utf8(不是utf-8)

(注意,如果需要导数据,请先修改完编码,再进行数据导入,同时,注意你的源数据的格式,需要是utf8的编码)

2:检查你的连接:
jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8(不是utf-8)
连接数据库的编码也要设置为utf8

3: 检查你的页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
设置文件的编码

<meta http-equiv="content-type" content="text/html; charset=UTF-8">
设置内容编码

如果这几个地方都统一了,应该就没有什么问题了。

中文检索的实现:
在保证上面编码问题正确的情况下进行。

首先,如果jsp页面到action,需要进行编码的转换
因为,jsp的页面form提交到action时,默认的是iso-8859-1的编码,需要转换成utf-8编码
代码如下:
String keyStr = request.getParameter("key");
       
        String pageStr = request.getParameter("page");
        String pageSizeStr = request.getParameter("pageSize");
       
       
        String key="";
        try {
            key = (keyStr==null?"":new String(keyStr.getBytes("iso-8859-1"),"utf-8"));
        } catch (UnsupportedEncodingException e2) {
            // TODO Auto-generated catch block
            e2.printStackTrace();
        }
       
这样,能保证,在jsp到action的编码不会出现乱码。
然后,在dao端,通过HQL进行中文模糊匹配检索,代码如下:
    public List findLikeKey(String key) {
        log.debug("finding all Pois instances");
        try {
            //'%"+key+"%'
            String queryString = "from Pois as poi where poi.poiname like '%"+key+"%'";
            Query queryObject = getSession().createQuery(queryString);
           
//            queryObject.setString(0, "'%"+key+"'");
           
            log.info("query String is : "+queryObject.getQueryString());
           
            return queryObject.list();
        } catch (RuntimeException re) {
            log.error("find all failed", re);
            throw re;
        }
    }

这样就可以实现检索的模糊匹配。
这样就OK了。






|----------------------------------------------------------------------------------------|
                           版权声明  版权所有 @zhyiwww
            引用请注明来源 http://www.blogjava.net/zhyiwww   
|----------------------------------------------------------------------------------------|
posted on 2008-09-09 16:40 zhyiwww 阅读(1044) 评论(0)  编辑  收藏 所属分类: java basic

只有注册用户登录后才能发表评论。


网站导航: