mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法
1.先查看库、表、表字符字段的编码格式。MySQL默认的库和表的字符编码都是latin1,而我们一般需要使用 utf8
//先查看库、表、表字符字段的编码格式。MySQL默认的库和表的字符编码都是latin1,而我们一般需要使用 utf8
SHOW CREATE DATABASE 库名; //查看库的字符集
SHOW CREATE TABLE 库名.表名; //查看表的字符集
SHOW FULL COLUMNS FROM 库名.表名; //查看字段编码
//解决办法,修改库、表、字符字段的编码为utf-8
ALTER DATABASE 库名 DEFAULT CHARACTER SET utf8; //修改库的字符集
ALTER TABLE 库名.表名 CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; //修改表以及字符字段的字符集
2.如果还是乱码,需要修改mybatis的配置文件中的数据库配置,加上
useUnicode=true&characterEncoding=utf-8
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
或者修改mysql数据库的配置文件/etc/my.cnf,[mysqld]下添加一句character_set_server= utf8
[mysqld]
character_set_server= utf8
修改mysql配置文件后需要重启mysql服务
service mysqld stop //停止
service mysqld status //查看状态
service mysqld start //启动
以上操作一般可以解决