下面是我最近作个小项目遇到的中文问题,如有不当之处,还请各位大虾指正
1)普通的页面显示问题,在最前面加入三行代码:
<%@ page pageEncoding="gb2312"%>
<%@ page contentType="text/html;charset=gb2312"%>
<%request.setCharacterEncoding("gb2312");%>
基本上所有页面显示问题都可以搞定。
2)插入数据库
String correctdes = new String(descrip.getBytes("ISO8859_1"),
"GB2312");
用此行代码将ISO8859_1转换成GB2312,插入就不是乱码了。
3)数据库中文查询
比如说有个queryByName(String name)函数,
在里面加入下列代码就可以。
byte[] bytesISO = name.getBytes("ISO8859_1");
String newName = new String(bytesISO, "GB2312");
然后
List list = session.createQuery(
"from Teacher teacher where teacher.teacName =:name").setString("name",newName).list();