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