在web开发中,汉字乱码是个很常见的问题~~
一般呢,在汉字参数传输过程中会出现乱码,在数据库保存中,也会出现乱码,在利用hibernateTemplate操作数据库时,有时也可能出现乱码!
解决方案呢,依据错误的源头进行修改!!
比如:在传输过程中出错时,
可以设置当前页面的encoding=utf-8,也可以将参数的编码转换 String name=new String(name.getByte("ISO-8859-1"),"UTF-8");
还可以设置设置request.setCharacterEncoding("utf-8")这是最常用的几种。
要是数据库中出现乱码,可以对数据库进行编码设置~~这个很简单,利用一些图形界面工具很容易就完成了~~~~
要是在hibernateTemplate中出现乱码时,
有时候,你会发现,既不是传递中出的错,又不是数据库中出了错,那很可能就是hibernate中的编码设置问题
其实这个也很好解决,在连接数据库时,直接在后面加characterEncoding=utf-8就行了~~包括程序的编码设置跟数据库不一致的时候,也可以这样用~~~一般连接数据库时,最好加上这句话!!!!
hibernate.cfg.xml中这样写:
<property name="connection.url">
jdbc:mysql://localhost:3306/bbsweb?characterEncoding=utf-8
</property>
在MVC中可以这样:
jdbc:mysql://localhost:3306/bbsweb?useUnicode=true&characterEncoding=utf-8
一般情况下,上述情况就可以完全汉字解决乱码问题~~~