解决乱码的几个常用方法
不分先后, 按实际情况分析:
1. 过滤器
2. 检查数据库编码
cmd-->输入show variables like "%char%";
-->输入set character_set_results='gbk'; 其他都设置成utf-8
3. 连接数据库的URL:
jdbc.url = jdbc:mysql://localhost:3306/shop?useUnicode=true&characterEncoding=utf-8
注意:符号&, 有的时候用 & , 有的时候需要用 & 转义, 就这两种, 两个都要试试
4. 设置所操作的参数的编码: 设置"字符串"的编码为utf-8或者gb2312
new String("字符串".getBytes("ISO-8859-1"), "UTF-8")
5. 在配置文件中设置(一个意思)
<prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>
<prop key="connection.useUnicode">true</prop>
<prop key="connection.characterEncoding">UTF-8</prop>