中文乱码是一个非常讨人厌的家伙,不过遇到这样的问题还是不要气馁,要慢慢的一步一步试着解决问题。
今天将开发环境装换到linux,第一个遇到的问题就是向mysql数据库插入中文出现乱码,遇到问题的第一个想法就是打开google,首先找到很多解决方法,自己也每一个去尝试,
第一,在hibernate.cfg.xml下设置useUnicode属性设置为true,characterEncoding属性设置为utf-8。重拾插入中文还是乱码。
第二,修改mysql下的配置文件my.cnf,切换到root用户使用vi /etc/mysql/my.cnf在[client]选项下添加default-character-set = utf8,,添加后保存退出,使用sudo restart mysql后,重新插入中文还是乱码。
第三,想到,将mysql的默认字符集改为utf8格式但是之前创建的数据库还是使用latin1字符集格式,所以索性删除数据库重新建立一个数据库,然后再重新插入中文,发现还是乱码。
最后,再无奈之下,找到了一个方法,同时在[mysqld]选项下同时加上default-character-set = utf8,重试插入中文,乱码还真的解决了。真是开心!