登录
首页 >  数据库 >  MySQL

一文解决java+mysql插入数据发现中文乱码问题

来源:SegmentFault

时间:2023-02-24 20:46:25 414浏览 收藏

有志者,事竟成!如果你在学习数据库,那么本文《一文解决java+mysql插入数据发现中文乱码问题》,就很适合你!文章讲解的知识点主要包括MySQL、Java、乱码,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

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),这招已经不好使了,要更新换代
最后果然圆满解决^-^

终于介绍完啦!小伙伴们,这篇关于《一文解决java+mysql插入数据发现中文乱码问题》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布数据库相关知识,快来关注吧!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>