SpringBoot設置Servlet字符編碼集
1. 通過配置類實現
-
創建系統配置類
-
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; } }
-
在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(); }
-
在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