我想在我正在使用UTF-8
的{{1}}网络应用中设置Spring MVC
编码,我更改了配置选项,将所有网页设置为netbeans 8 ide
,我通过单击help-> about确认了这一点并检查了系统参数UTF-8
,但是当我通过单击文件来检查属性时,它会显示UTF-8
。
所以我运行我的应用程序并检查了firefox中的内容类型,它说
ISO-8859-1
,因此即使单击文件时显示的属性窗口显示Content-Type: text/html;charset=UTF-8
,浏览器也会将其视为ISO-8859-1
,因为我将nebeans中的默认文件编码更改为UTF-8。
由于我使用的是html5,因此我将文件保存为UTF-8
该文件没有任何JSP代码,但我保存了这个扩展名,因为在项目中已经有太多这样的页面,我没有费心去改变它们。
这是我的配置类中的方法我正在使用java配置
<meta charset="UTF-8">
这行是在我的pom .xml
中.JSP
1)我的所有网页都有 @Bean
public FreeMarkerConfigurer freemarkerConfig() {
FreeMarkerConfigurer freeMarkerConfigurer = new FreeMarkerConfigurer();
freeMarkerConfigurer.setTemplateLoaderPath("/WEB-INF/views/");
freeMarkerConfigurer.setDefaultEncoding("UTF-8");
return freeMarkerConfigurer;
}
@Bean
public FreeMarkerViewResolver viewResolver() {
FreeMarkerViewResolver viewResolver = new FreeMarkerViewResolver();
viewResolver.setPrefix("");
viewResolver.setSuffix(".jsp");
viewResolver.setContentType("text/html;charset=UTF-8");
viewResolver.setCache(false); //Set to true during production
// viewResolver.setOrder(0);
return viewResolver;
}
2)我将netbeans中的默认编码更改为utf-8,
3)我的视图解析器方法有utf-8选项
4)这会显示在我的浏览器<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
为什么utf-8编码不起作用我错过了什么?让它工作的唯一方法是,如果我将这一行放在我的页面<meta charset="UTF-8">
的顶部,但由于我没有使用jsp,因此字符串标记出现在视图中。
问题是当我单击netbeans ide中的属性选项时页面显示为Content-Type: text/html;charset=UTF-8
,但是在我复制并粘贴样板文件html代码之后,在创建文件创建为UTF-8之前会发生这种情况但我正在复制HTML5代码我不知道它为什么会改为``ISO-8859-1 <%@page contentType="text/html" pageEncoding="UTF-8"%>
Content-Type:text / html; charset = UTF-8`。