mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法
1.先查看库、表、表字符字段的编码格式。MySQL默认的库和表的字符编码都是latin1,而我们一般需要使用 utf8
//先查看库、表、表字符字段的编码格式。MySQL默认的库和表的字符编码都是latin1,而我们一般需要使用 utf8SHOW CREATE DATABASE 库名;//查看库的字符集SHOW CREATE TABLE 库名.表名; //查看表的字符集SHOW FULL COLUMNS FROM 库名.表名; //查看字段编码
//解决办法,修改库、表、字符字段的编码为utf-8ALTER 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/f,[mysqld]下添加一句character_set_server= utf8
[mysqld]character_set_server= utf8
修改mysql配置文件后需要重启mysql服务
service mysqld stop //停止service mysqld status //查看状态service mysqld start //启动
以上操作一般可以解决