昨天新建了个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,如下图: