今天在写程序时遇到了一个乱码问题,困扰了好久,事情是这样的,
在Mapper层编写了查询语句,然后服务处调用,结果控制器返回一堆乱码

然后查看数据源头处:

由重新更改解码的字符集,在数据库中是正常显示的中文字符

数据库的编码集也是utf8

idea中相应的解码都是utf8

那为什么还会出现乱码呢?
出现这种状况的都是从外部导入文件的,可能不同文件的编码解码字符集不一样。如下图

上面txt文件可以看到右下角为utf-8编码,但是用excel打开就乱码了

或者相反的情况,这里要注意的是乱码后不可以随便在保存,然会会都是字符集,导致两边都乱码,具体的解决方案是在能打开一方文中文是打开后另存为utf-8编码。如下:
- 用Excel打开为中文时

选择Web选项,更改编码为UTF-8

此时中文就会解码为utf-8,在用其他软件打开时选择用utf-8编码即可。
- 记事本打开为中文

另存为时将编码改为utf-8即可。
注意在一方打开为乱码时一定不要另存为除非你知道起编码方式。
经过上面步骤后已经确定编码的方式了,如果时记事本保存的excel打开一般会乱码不用管,打开数据库管理工具

导入csv或txt都可以,之后编码方式选为utf-8即可。



















