向数据库中存入数据,中文乱码问题
Posted ends-earth
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了向数据库中存入数据,中文乱码问题相关的知识,希望对你有一定的参考价值。
问题发现:这里拿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
这样在连接道路上指定其编码格式
以上是关于向数据库中存入数据,中文乱码问题的主要内容,如果未能解决你的问题,请参考以下文章
Java 配置C3P0数据连接池存入数据存入数据库出现中文乱码问题