dbutils插入数据中文乱码问题

java使用dbutils插入数据时中文数据到了mysql数据库里就会变成"?"。查了好多方法,终于解决了。

要解决乱码问题要保证3处地方的编码是一致的。
java代码的编码方式
数据库的编码方式
jdbc设置的编码方式

举例:将编码方式全部设置成utf-8

java编码格式

    在idea中,通过右下角可以查看当前的编码格式
在这里插入图片描述
    通过点击这个选项也可以修改编码格式

数据库的编码格式

    在sqlyog中选择修改表,在字符集选项中修改编码方式。
在这里插入图片描述

jdbc的编码格式

    在设置jdbc url的时候在后面加上一句

?useUnicode=true&characterEncoding=utf8

比如本来url是 URL = “jdbc:mysql:///test”
加上编码设置后变成 URL = “jdbc:mysql:///test?useUnicode=true&characterEncoding=utf8”

我查的好多帖子里面都说加上

?useUnicode=true&characterEncoding=UTF-8

凡是实际测试我这里行不通,后来我发现数据库里面的字符集写的是"utf8",我就尝试把"UTF-8"修改成utf8,结果不再乱码。

猜你喜欢

转载自blog.csdn.net/sjc7140/article/details/83685749