Java程序向MySql数据库中插入的数据变成了问号

其实,当我们看到这个问题的时候都会很快的想到是编码格式的问题。但是当我查看MyEclipse中的编码格式的时候发现,编码方式是没有问题的,而且自己写的JSP页面中的编码格式也是没有问题的。那么这会嘛原因的? 后来在查看Mysql的资料时候发现: 1、MySQL的默认编码是Latin1,不支持中文,支持中文的数据库编码格式为gbk和utf8(注:在MySQL中要使用utf8,在java程序中使用utf-8,两者指的都是utf-8)。    

2、Eclipse的编码方式和MySQL的编码方式不一致也会导致乱码问题。  所以解决方案也很容易了——手动设置Mysql数据库编码格式:

                1、查看数据库编码方式命令:show variables like 'character%';  

               2、修改数据库编码方式:alter database test(数据库名称) character set utf8;  

               3、创建数据库时,指定数据库的编码方式:createdatabase test(数据库名称) character set utf8;

 

                 4修改配置文件my.ini:  

             找到mysql的安装路径

Java程序向MySql数据库中插入的数据变成了问号_第1张图片

修改[mysql]下面的语句:default-character-set=utf8

Java程序向MySql数据库中插入的数据变成了问号_第2张图片

修改[mysqlid]下面的语句 character-set-server=utf8

Java程序向MySql数据库中插入的数据变成了问号_第3张图片

 

你可能感兴趣的:(数据库初学常犯错误,异常)