向数据库中存入数据,中文乱码问题

问题发现:这里拿eclipse创建hibernate为例(其他类型往数据库存值乱码问题都大差不差),用hibernate往数据库存值出现乱码后:

  办法:(最好就是所有开发工具全部统一编码格式)

1.开发工具默认字符编码是否是UTF-8。

  如eclipse

                                   

2.数据库的字符集编码格式是否是utf-8

  开启mysql数据库  ,命令行 show variables like 'character%';

 如何修改了,一个是修改my.ini文件

[mysqld]
port = 3306
basedir=D:/software/javaee/mysql              //这里一定注意一定用/,如果用\可能刚开始安装时候正常使用,只要重新开机启动mysql就可能报1067错误,特别是放在c盘以外注意
datadir=D:/software/javaee/mysql/data 
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysql]
default-character-set=utf8

第二种,命令行,不推荐使用

mysql> set character_set_client=utf8 ;

mysql> set character_set_connection=utf8 ;

mysql> set character_set_database=utf8 ;

mysql> set character_set_database=utf8 ;

mysql> set character_set_results=utf8 ;

mysql> set character_set_server=utf8 ;

mysql> set character_set_system=utf8 ;

重启服务器  命令行net start mysql  让它重启

如果还是不行,还乱码,注意加载连接路径时候数据库名后面加上

  

jdbc:mysql://localhost:3306/hibernate_crm?useUnicode=true&characterEncoding=UTF8

这样在连接道路上指定其编码格式

猜你喜欢

转载自www.cnblogs.com/ends-earth/p/10762163.html