目录
环境信息:
idea2021.1.1(注:如果是其它版本的idea,也可能会出现这个问题)
SpringBoot 2.1.15.RELEASE
问题描述:
在做参数校验功能的时候,自定义了校验器及其错误描述。校验器正常生效了,可是返回的错误描述里,中文乱码。
控制台里,同样是乱码:证明不是前端显示的问题,而是后端发送的就是乱码。
解决方案:
解决思路:
错误描述是按照规范在ValidationMessages.properties、ValidationMessages_zh_CN.properties里配置的:
javax.validation.constraints.ListValue.message =必须提交指定的值
乱码问题一般涉及中文的编码,idea的编码设置和乱码问题,参考这篇博文:
idea启动项目失败 YAMLException 中文文件编码格式_lzhfdxhxm的博客-CSDN博客
解决方法:
参考上面的博客,查看了下idea的配置,发现:
Transparent native-to-ascii conversion
前的框并没有勾选上!
将方框勾选上之后,重启,发现还是乱码!
参考博客,在文件里重新输入中文,重启,返回的错误描述正常显示了。
总结
idea里涉及到乱码、编码问题的时候,需要设置下文件编码格式,文件里原本的中文也很可能需要重新输入。
不仅仅是针对ValidationMessages.properties、ValidationMessages_zh_CN.properties这两个配置文件,其它配置文件也都一样。