资讯专栏INFORMATION COLUMN

java连接mysql插入数据出现中文乱码

张巨伟 / 1096人阅读

摘要:于是按照文章所说需要我们看到,尽管使用数据库时我们能够正常的添加和显示中文,但是在使用程序连接数据库时并不能够正常显示中文,为此我们需要修改的默认编码,编辑配置文件文件对编码进行修改设置的默认字符集为,找到客户端配置在下面添加。

java连接了mysql数据库后,程序行向数据库中插入信息,代码如下:

dbhelper boringdb = new dbhelper();
            boringdb.connSQL();
            String insert = "insert into boring(prflurl,name,post,school,reside) values("www.地址地址f","csdn","好无聊啊","家里蹲大学","北京")"; 
            if (boringdb.insertSQL(insert) == true) {  
                System.out.println("insert successfully");  
            }    

数据库中插入的数据为乱码like this:??????都是问号
直接使用命令窗口(cmd小黑窗)或者phpmyadmin用sql语句进行插入操作却没有问题,不乱码

于是搜索解决办法网页链接
按照办法是:要先在cmd中mysql> show variables like "character%";
发现。。都不太一样有latin1的有gbk的。。于是按照文章所说需要:

我们看到,尽管使用数据库时我们能够正常的添加和显示中文,但是在使用程序连接数据库时并不能够正常显示中文,为此我们需要修改MySQL的默认编码,编辑my.ini(MySQL配置文件)文件对编码进行修改
设置MySQL的默认字符集为utf8,找到客户端配置[client]在下面添加。
default-character-set=utf8 找到服务器配置[mysqld]在下面添加
default-character-set=utf8 设定MySQL数据库以utf8编码运行,连接MySQL数据库时使用utf8编码
停止和重新启动MySQL net stop mysql net start mysql

然额,这么操作之后,mysql启动不了了。。不了了。。了
于是再次百度发现:MySQL 5.5版本解决中文乱码问题时my.ini内[mysqld]项中不能再写default-character-set=utf8
[#0x004E] MySQL 5.5版本上my.ini内[mysqld]项中不能再写default-character-set=utf8

在5.1版本时,为了解决中文乱码问题设置默认字符集为utf8时,在my.ini内的
[mysql] 和 [mysqld] 项中都是写: default-character-set=utf8 到了5.5版本, [mysql]
项内可以这么写, [mysqld] 项内这么写在启动MySQL服务时会有1067错误,经查询发现这里必须要这样写:
character-set-server=utf8

原来是我的mysql版本太高(5.6),这招已经不好使了,要更新换代
最后果然圆满解决^-^

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66198.html

相关文章

  • JavaWeb 乱码问题终极解决方案!

    摘要:经常有读者在公众号上问乱码的问题,昨天又有一个小伙伴问及此事,其实这个问题很简单,但是想要说清楚却并不容易,因为每个人乱码的原因都不一样,给每位小伙伴都把乱码的原因讲一遍也挺费时间的,因此,松哥今天决定写一篇文章,和大伙好好捋捋中的乱码问题 经常有读者在公众号上问 JavaWeb 乱码的问题,昨天又有一个小伙伴问及此事,其实这个问题很简单,但是想要说清楚却并不容易,因为每个人乱码的原因...

    canger 评论0 收藏0

发表评论

0条评论

张巨伟

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<