1、如果你发现,你从数据库中读取出的数据是乱码的,那么原因也很简单,是因为数据库的字符集配置问题。
2、-方法一:showvariableslike'collation_%';
3、IDE环境造成的乱码
4、[mysql]
5、[mysqld]
6、如果你发现更改了文件编码并且重新build以后,还是出现乱码的问题,如果依然是web应用的话,那就很有可能是POST和GET方法传参造成的乱码。
7、这个问题可以看我的文章,POST和GET方法乱码问题解决方案,写的其实非常详细了。
8、[client]
9、数据库编码格式导致的
10、也许你会说,我根本就没发现这里有什么问题啊,我一直是这种设置也没有发生过乱码。我只能说,那是因为你没有遇到过。
11、-方法二:showvariableslike'character_set_%';
12、default-character-set=utf8
13、如果你看到,字符集列表中有显示各种字符集的配置都是拉丁文,也就是lantin这样子的。那么毫无疑问是因为字符集的配置问题了。对于不同的系统,配置的方法都是相同的,那就是找到mysql文件的配置信息路径,一般linux可以按照我的这篇文章来进行配置,windows也可以参考,只需要找到配置文件,做最后的字符配置操作即可。windows的mysql配置文件一般在mysql的安装目录下,如果没有,那么可以自己建一个名为myf的文件(如果无效,试试新建mysqldf文件),然后在文件中输入如下配置信息:
14、最常见的一个场景就是web应用中(不使用框架),当你提交的表单中存在file域的时候,你可能会使用一些文件上传组件,这些组件处理信息的时候,会将表单中的数据变成UTF8或者你设置的格式,但是,如果你的文件编码是GBK的话,就肯定就会碰到乱码的问题了。具体原因有待深究,但个人觉得这可能是因为编译后的class字节码文件处理信息过程的问题。
15、POST和GET方法传递参数造成的乱码
16、character-set-server=utf8
17、对于eclipse,这货可能是为了让中国人写代码的时候更加方便,当你点击目录中的src,然后点击file->Properties->Resources,你会看到,TextFileEncoding默认是GBK。是不是很绝望,为了下次不再因为这个问题产生乱码,记得创建文件夹以后就配置一下src的encodeing,还是刚刚的那个路径,改成UTF-8就行了。
18、其实这个是非常让人郁闷的问题,有时候还真的很难发现。现在流行的两种JavaIDE,idea和eclipse。idea的所有默认编码都是UTF8格式,基本上统一所有编码,如果你再idea出现了乱码问题,一般不是idea自身的问题。
19、首先,进入mysql的控制台,也就是命令行中。输入如下语句,查看mysql的字符集配置。
20、如果你看到idea的控制台出现了中文乱码,这很有可能是你选用的字体不支持部分中文造成的,idea不背这个锅。
21、这个是解码的问题,要不就换个浏览器,要不就更改设置,或者试下能不能找到电子版,直接看PDF。