MYSQL遇到的乱码问题

    一个程序员没有遇到BUG,就不能称为一个合格的程序员,我一直认为一个程序员成长最快的方式就是一直遇到BUG,只要自己没有放弃就会快速成长。以后自己也会将一些自己遇到的奇葩错误放到这个分类里,提醒自己。虽然我倒下了,但是你们还在前行。

    这一次是比较常见的数据库乱码问题。任何的数据在电脑中都是以二进制的形式存在的,所以将数据转换为二进制和将二进制转换为数据就是至关重要的一件事。也就有了编码和解码的概念。所以乱码的本质其实就是编码的不正确和解码的不正确。

    下面就来说一说数据库中乱码的问题。因为我写的是web项目,所以这次也主要是以web项目为例子。数据库出现乱码主要有两个原因(大概),一个是网页的编码,还有一个就是数据库的问题,网页的编码设置很简单,就是将页面的编码设置为charset="UTF-8",这个网上一搜一大堆,这里不再详细介绍。今天主要讲一下数据库出现问题的解决方法。

    数据库出现乱码问题是比较难解决的,因为我遇到过这种蛋疼的事。怎么查看自己数据库的编码?我用的是MYSQL,所以在MYSQl执行命令 SHOW VARIABLES LIKE 'character%'; 可以查看自己的MYSQL数据库的编码格式。如下图就是正确的。

    因为现在大部分使用的utf-8,所以我也设置为utf-8,看自己的需求设置,不一定和我的一样,如果你的需求是utf-8,但是是下面这个样子。

你可能就出现了问题。网上对于这样的错误解决方法也是比较多的。大部分都是将my.ini配置文件修改。这种方法是比较麻烦的,同时也很难成功的,至少我没成功过。所以我推荐你删除数据库,重新装一个数据库。对,你没有听错,就是推荐你重新装一个MYSQL。下面我也就如何更改数据库的编码简单说一下。

    在配置前要记得删除MYSQL,删除应用就可以了,还有两个文件夹,一个是你MYSQL安装文件夹,还有一个就是c盘下的隐藏文件夹。路径如下:C:\ProgramData\MySQL,删除这两个文件夹就可以了,不用删除注册表。配置的时候都很简单,都是NEXT下一步,大概到下面的界面(MYSQL5.5)

    这个要记得选择第三个,在选择utf-8就可以了,后面输入你的密码。在去重新查看数据库编码发现正常了。

    其实还有一个在数据库连接时设置编码的,对于我也是没有用,这里也是讲代码粘贴。

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/poll2.0?characterEncoding=utf-8

    上面的方法大概就是我试过的所有修改编码的方法,只有重装成功了,所以我推荐重装。最省事,最简单。

    就这样,结束。

posted on 2018-06-26 23:23  丶烟雨丶  阅读(168)  评论(0编辑  收藏  举报

导航