SpringBoot设置Servlet字符编码集


SpringBoot设置Servlet字符编码集

1. 通过配置类实现

  1. 创建系统配置类

  2. public class SystemConfig {
        @Bean
        public FilterRegistrationBean characterEncodingFilterRegistrationBean(){
    
            CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
            //设置强制使用指定字符编码集
            characterEncodingFilter.setForceEncoding(true);
            //设置指定字符编码
            characterEncodingFilter.setEncoding("utf-8");
    
            FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
    
            //设置字符编码过滤器
            filterRegistrationBean.setFilter(characterEncodingFilter);
            //设置字符编码过滤器路径
            filterRegistrationBean.addUrlPatterns("/*");
            return filterRegistrationBean;
        }
    }
    
  3. 在Servlet设置统一字符编码集

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().println("你好,Hello World");
        //统一设置浏览器编码格式
        resp.setContentType("text/html;character=utf-8");
        resp.getWriter().flush();
        resp.getWriter().close();
    }
    
  4. 在SpringBoot配置文件里取消默认编码格式

    server.servlet.encoding.enabled=false
    #这里有一个过时的方法,使用哪个方法好像没有用
    #spring.http.encoding.enabled=false
    

2. 通过springboot配置文件

只需在配置文件中添加配置( resp.setContentType("text/html;character=utf-8");在Servlet也要)

#设置请求响应编码
server.servlet.encoding.enabled=true
server.servlet.encoding.force=true
server.servlet.encoding.charset=utf-8


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM