java连接mysql出现了乱码问题

java连接mysql出现了乱码问题

http://img1.sycdn.imooc.com//climg/5c4eb21a000127c509560573.jpg

http://img1.sycdn.imooc.com//climg/5c4eb2380001c71908000526.jpg

http://img1.sycdn.imooc.com//climg/5c4eb25c0001e63103560173.jpg

http://img1.sycdn.imooc.com//climg/5c4eb27d0001addd11390490.jpg

项目的文本文件我设置的是utf-8,数据库的字符编码也是utf8,控制台控制台输出出现了乱码。请问老师该怎么解决呢?请老师详细讲一下编码的问题,先谢谢了。

正在回答

登陆购买课程后可参与讨论,去登陆

5回答

在workbench中直接写sql语句就可以了,譬如下图sql语句,

http://img1.sycdn.imooc.com//climg/5c5252ee0001cc1a06150021.jpg

然后选中当前行,点击下图标记的小闪电标识就可以执行sql语句了,祝学习愉快~

http://img1.sycdn.imooc.com//climg/5c5253140001aff604490196.jpg

chrismorgen 2019-01-29 17:09:33

你好同学,因为乱码的原因有很多种,只能一点一点的排查,所以请同学不要着急,因为我们的环境是不同的,所以同学只能根据我们提供的方法一部一部去试,这么做的好处是,问题解决了,你以后就彻底学会如何解决乱码的问题了,

show variables like '%char%';会出现下图数据,

http://img1.sycdn.imooc.com//climg/5c5017970001c7e703200159.jpg

建议同学用下图代码将上面的每一个选项都设置为utf8,譬如set character_set_connection=utf8,依次类推。然后在尝试一下查询数据。祝学习愉快~

http://img1.sycdn.imooc.com//climg/5c5017e90001a63003260086.jpg

  • 提问者 傻小伙儿 #1
    老师,有了很大的进展,从eclipse中通过java代码插入到数据库的数据,再从eclipse控制台里查出来是正常的,但是在数据库里仍然是以乱码的形式存在
    2019-01-29 23:46:42
  • chrismorgen 回复 提问者 傻小伙儿 #2
    你好同学,数据库之前插入的数据为乱码是无法改变了,你可以把之前的数据删除并重新插入就可以了,祝学习愉快~
    2019-01-30 09:53:20
  • 提问者 傻小伙儿 回复 chrismorgen #3
    之前的删除了,但是现在直接从数据库里插入数据,如果有中文的话就会出现语法错误。而在eclipse中通过代码插入的数据在数据库里的仍然为乱码。在eclipse中查出来的是正确的文字
    2019-01-30 18:36:18
chrismorgen 2019-01-29 10:02:45

你好同学~之前粘贴的是idea设置字符编码的方法,那几个选项就是将ide的编码格式和项目工程的字符编码格式设置为utf-8,如下是设置eclipse的编码格式。

http://img1.sycdn.imooc.com//climg/5c4fb12c0001e25408020546.jpg

另外建议同学按如下操作设置一下,并将url中的utf-8改为utf8试试呢?祝学习愉快~

http://img1.sycdn.imooc.com//climg/5c4fb41e0001f1a104970133.jpg

  • 提问者 傻小伙儿 #1
    还是乱码呀,完全是按照老师的操作做的
    2019-01-29 15:01:45
chrismorgen 2019-01-28 19:17:13

你好同学,请问同学下图中配置ide的字符编码格式都设置了没?祝学习愉快~

http://img1.sycdn.imooc.com//climg/5c4ee488000174d112290758.jpg

  • 提问者 傻小伙儿 #1
    老师你好,我用的是eclipse,项目编码和workspace都设置成utf-8了的,但是还是出现了乱码,老师能讲解一下这几处编码的都是起到了什么作用吗?
    2019-01-28 21:44:25
慕UI4238756 2019-01-28 15:54:48

数据库地址后的字符串换成“?useSSL=false&serverTimezone=Hongkong&useUnicode=true&characterEncoding=utf-8”试试。

  • 提问者 傻小伙儿 #1
    还是乱码,跟刚刚一模一样的
    2019-01-28 16:11:45
  • 周泓印 回复 提问者 傻小伙儿 #2
    谢谢大神,成功了,之前我在workbench里添加记录,不是乱码,一换到jdbc就变乱码
    2019-02-12 14:24:26
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师