一、问题场景
笔者在写controller层出现了一些小问题:测试controller层的一些请求的时候,后端控制台打印的是乱码,网上找了很多说改UTF-8的,但是我去设置里面全部都改为UTF-8了,结果仍然无济于事,甚至还把idea.exe.vmoption文件中增加了关于编码格式的配置,都没有效果。
最终笔者查阅资料发现,jdk我用的18版本,而jdk18默认的编码格式是GBK,笔者把settings里面的文件编码格式全改为GBK,果然控制台打印正常中文了
但随之而来的就是前端页面显示乱码的问题
我的理解是,前面把项目全局的编码格式都改成了GBK格式的,但是由于我们前后端分离都是在IDEA里面开发的,所以前端的需要编码格式是UTF-8就和全局的GBK发生了冲突
二、问题解决
只需要将新创建的前端页面的编码格式特别设置一下就可以了,操作如下
点击转换,再次启动前端项目,打开前端页面,发现乱码问题解决
三、总结反思
就这个编码的破问题之前一直都出现,我都是UTF-8和GBK来回设置直到显示正常,从来没有追根究底,踩了很多坑,浪费了大量时间,这次仔细的查阅资料后,觉得jdk还是用之前的老版本比较好,新版本的各方面改动比较多,推荐使用jdk8,前后端统一用UTF-8去进行编码这样就会省去不少的麻烦。
不过笔者一直在用jdk18也不想去安装jdk8了就凑合着用把