springMVC中model传递汉字字符到jsp页面会出现乱码的一种可能性

问题
今天在使用springmvc时编写model.attribute()时,发现传递到jsp页面上的数据,读取出来都是乱码。

原因
一开始认为是没有进行编码过滤,但发现在web.xml中添加了CharacterEncodingFilter过滤器
在debug模式下,发现字符在传递前就已经是乱码了,也就是并非是传递过程中出现的乱码。
添加以下语句:

String s=System.getProperty("file.encoding");

这个语句是用来检查页面的编码格式,发现输出结果为"GBK",证明页面编码格式为GBK,因为我在jsp页面的解码格式都为utf-8,所以出现了不一致,即产生乱码。

解决办法
修改页面的解码格式,或者文件的编码格式,我用的IDEA
方法如下,在file-setting中搜索Encoding
springMVC中model传递汉字字符到jsp页面会出现乱码的一种可能性_第1张图片
修改右侧这几处的编码,或者给文件单独添加路径修改,然后确认。
springMVC中model传递汉字字符到jsp页面会出现乱码的一种可能性_第2张图片

你可能感兴趣的:(Java,web)