gpt4 book ai didi

java - 在资源处理程序中设置字符编码

转载 作者:行者123 更新时间:2023-12-02 05:02:34 24 4
gpt4 key购买 nike

我正在安装一个目录,其中包含 JavaScript 内部的翻译。为了让浏览器正确呈现它们,我需要传递一个字符编码 header 。

该目录是通过 Spring 的资源处理程序安装的,如下所示:

public class WebMvcConfig extends WebMvcConfigurerAdapter implements ResourceLoaderAware {


@Override
public void addResourceHandlers(@Nonnull final ResourceHandlerRegistry registry) { registry.addResourceHandler("/app/static/scripts/**")
.addResourceLocations("/static/scripts/")
.setCachePeriod((int) TimeUnit.DAYS.toSeconds(365));
...
}

...

}

我还没有找到将默认字符编码设置为 UTF-8 的明显方法。有任何想法吗?我使用的是 Spring MVC 3.2.4。

最佳答案

虽然在请求资源时不会调用拦截器,但过滤器会调用。我所要做的就是添加一个过滤器,将响应的字符编码设置为 UTF-8。

/**
* Sets character encoding on the request and response.
*
* @author gaurav
*/
public class CharacterEncodingFilter implements Filter {

@Override
public void init(final FilterConfig filterConfig) throws ServletException { }

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
try {
response.setCharacterEncoding("UTF-8");
} finally {
chain.doFilter(request, response);
}
}

@Override
public void destroy() { }
}

关于java - 在资源处理程序中设置字符编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28121412/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com