作者:书友68570125 | 来源:互联网 | 2014-05-29 08:43
今天要补交数据库的作业,使用java、MariaDB写一个数据库应用程序。以前写过类似的程序,也遇到过数据库中文插入问题,当时解决了,但没有记录下来,看来记笔记是非常重要的一件事。我使用的使用netbeans写这个程序,虽然不喜欢java,但为了拿到成绩,呵呵
今天要补交数据库的作业,使用java、MariaDB写一个数据库应用程序。
以前写过类似的程序,也遇到过数据库中文插入问题,当时解决了,但没有记录下来,看来记笔记是非常重要的一件事。
我使用的使用netbeans写这个程序,虽然不喜欢java,但为了拿到成绩,呵呵。
一开始使用的是这样的建表语句
CREATE TABLE Student(
Sid CHAR(15) NOT NULL PRIMARY KEY,
Sname CHAR(20) NOT NULL,
Sage INT NOT NULL,
Ssex CHAR(6) NOT NULL,
Sclass CHAR(10) NOT NULL,
Sdept INT NOT NULL,
Saddr VARCHAR(30) NOT NULL
)
后来就出现问题了,无法插入中文。错误提示是这样的
google了半天,试了很多方法,还是没能解决。
最后我在命令行中误打误撞输入了一条命令
show create table Student;
Student是我创建的表的名字,后来出现了这个表的定义SQL语句
这张图片是我修改后的效果,原来的CHARSET=latin1
所以我把我的SQL语句重新写了一下,
CREATE TABLE `Student` (
`Sid` char(15) NOT NULL,
`Sname` char(20) NOT NULL,
`Sage` int(11) NOT NULL,
`Ssex` char(6) NOT NULL,
`Sclass` char(10) NOT NULL,
`Sdept` int(11) NOT NULL,
`Saddr` varchar(30) NOT NULL,
PRIMARY KEY (`Sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
就是把建表时的字符集由latin1改成了utf8,这样就能正常插入中文数据了。