java中向Mysql插入中文字符出现乱码

时间:2022-06-16 06:30:41

昨天新建了个Mysql数据库表,在JAVA中插入中文字符时,发现数据库中的插入结果是乱码。实际是字符集不符合问题。

针对这个问题的解决方法有很多,例如这个文章java与mysql乱码的问题不过我建议将表删掉重新建表,建表时默认字符集设置为UTF-8,这样可以避免以后出现各种问题。

可以通过语句show create table table_name来查看该表的编码格式。例如我的是:

CREATE TABLE `blog` (
  `title` varchar(30) NOT NULL DEFAULT '',
  `username` varchar(20) DEFAULT NULL,
  `content` varchar(3000) DEFAULT NULL,
  `createTime` date DEFAULT NULL,
  PRIMARY KEY (`title`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

 

这是修改后的语句,最初查看是,编码格式是latin1,建表工具使用的是Navicat,建表时默认的话就是latin1,可以在建表时选择“选项”标签,在字符集中选择UTF-8,如下图:

java中向Mysql插入中文字符出现乱码