我的项目是用SSH + MYSQL 做的,在查询数据的时候,出现了很奇怪的现象,英文可以查到数据,中文就不匹配了,弄了很久,还是不行,过滤器加了、编码统一用UTF-8(数据库和页面编码都设了),网上能试的基本都试了,会不会是数据库的问题呢?在控制台输出是乱码,但是页面读出又是中文哦,哪位达人知道的,帮帮忙,急,先谢了。执行查询的代码:
public List findAllOwner() {
log.debug("finding all CarInfo carInfo");
List list = null;
try {
String queryString = "from CarInfo ci where ci.role='车主'";
list = getHibernateTemplate().find(queryString);
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
return list;
}
这个就不能查到数据。但是换成
public List findAllOwner() {
log.debug("finding all CarInfo carInfo");
List list = null;
try {
String queryString = "from CarInfo";
list = getHibernateTemplate().find(queryString);
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
return list;
}又可以读出全部数据,而且打印到页面上能正常显示中文,或者改用
public List findAllOwner() {
log.debug("finding all CarInfo carInfo");
List list = null;
try {
String queryString = "from CarInfo ci where ci.role='aa'";
list = getHibernateTemplate().find(queryString);
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
return list;
}也可以查询到role=aa的数据
public List findAllOwner() {
log.debug("finding all CarInfo carInfo");
List list = null;
try {
String queryString = "from CarInfo ci where ci.role='车主'";
list = getHibernateTemplate().find(queryString);
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
return list;
}
这个就不能查到数据。但是换成
public List findAllOwner() {
log.debug("finding all CarInfo carInfo");
List list = null;
try {
String queryString = "from CarInfo";
list = getHibernateTemplate().find(queryString);
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
return list;
}又可以读出全部数据,而且打印到页面上能正常显示中文,或者改用
public List findAllOwner() {
log.debug("finding all CarInfo carInfo");
List list = null;
try {
String queryString = "from CarInfo ci where ci.role='aa'";
list = getHibernateTemplate().find(queryString);
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
return list;
}也可以查询到role=aa的数据
.forClass(Entity.class);
Criterion c = Restrictions.like("name", "%" + name
+ "%");