一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - springboot全局字符編碼設置解決亂碼問題

springboot全局字符編碼設置解決亂碼問題

2020-09-16 14:08SL碼路 Java教程

這篇文章主要介紹了springboot全局字符編碼設置解決亂碼問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

有時候我們會發現這種問題,明明已經設置了字符編碼過濾器但是還會有亂碼的情況出現,這個問題令我們很是頭疼,我之前也遇到過這種情況。那怎么解決呢?

springboot編碼格式設置有三種方式,不管使用哪種方式,總有一款適合你。

1、在application.properties中設置

?
1
2
3
4
5
#編碼格式
spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
server.tomcat.uri-encoding=UTF-8

如果出現亂碼問題,這種方式解決的可能性不大,但可以嘗試一下,希望還是要有的,萬一解決了呢,因為查看源碼發現springboot默認的編碼格式就是UTF-8

springboot全局字符編碼設置解決亂碼問題

2、自己手寫編碼過濾器

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//字符編碼過濾器
@WebFilter(urlPatterns = "/*",filterName = "CharacterEncodingFilter")
public class CharacterEncodingFilter implements Filter{
  @Override
  public void init(FilterConfig filterConfig) throws ServletException {
  }
 
  @Override
  public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    HttpServletRequest request = (HttpServletRequest) servletRequest;
    HttpServletResponse response = (HttpServletResponse) servletResponse;
    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
 
    filterChain.doFilter(request , response);
  }
  @Override
  public void destroy() {
  }
}
如果這種方式也解決不了問題的話,只能使用最后一種方式了。

3、使用java配置寫一個字符編碼配置類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
 * 中文亂碼解決
 */
@Configuration
public class CharsetConfig extends WebMvcConfigurerAdapter {
  @Bean
  public HttpMessageConverter<String> responseBodyConverter() {
    StringHttpMessageConverter converter = new StringHttpMessageConverter(
        Charset.forName("UTF-8"));
    return converter;
  }
  @Override
  public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    super.configureMessageConverters(converters);
    converters.add(responseBodyConverter());
  }
  @Override
  public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
    configurer.favorPathExtension(false);
  }
}

StringHttpMessageConverter是一個請求和響應信息的編碼轉換器,通過源碼我們發現默認編碼ISO-8859-1,不是UTF-8,所以我們只要通過上述配置將請求字符串轉為UTF-8 即可

springboot全局字符編碼設置解決亂碼問題

WebMvcConfigurerAdapter 是springmvc的一個配置支配器類,我們可以實現我們感興趣的方法。

springboot全局字符編碼設置解決亂碼問題

其實現的接口WebMvcConfigurer 定義了一些回調方法為springmvc提供一個通道通過java基本的配置。

springboot全局字符編碼設置解決亂碼問題

到此這篇關于springboot全局字符編碼設置解決亂碼問題的文章就介紹到這了,更多相關springboot 全局字符編碼內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/qq_39654841/article/details/81156695

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91成| 久久精品国产色蜜蜜麻豆国语版 | 亚洲乱码尤物193yw在线播放 | h版在线观看 | 国产自拍偷拍自拍 | 高清视频在线播放 | 午夜在线观看免费观看 视频 | 日本啊v在线观看 | 国产成人精品免费久久久久 | 亚洲网视频| 国产成人综合手机在线播放 | 女八把屁股扒开让男生添 | 星空无限传媒xk8027穆娜 | 五月丁开婷婷 | 日本一道一区二区免费看 | 欧美色图日韩色图 | 日韩精品欧美国产精品亚 | 毛片小视频 | 赤坂丽女医bd无删减在线观看 | 好大好爽好涨太深了小喜 | 色狠狠成人综合网 | 狠狠撸在线播放 | 免费jizz在在线播放国产 | 久久久久久久99精品免费观看 | 超级乱淫寡妇 | 日韩视频一区二区三区 | 973影院| 亚洲美女aⅴ久久久91 | 99视频在线免费 | 精品久久久久香蕉网 | 999jjj在线播放| 色综合久久日韩国产 | 成人软件18免费 | 高清在线观看mv的网址免费 | 热久久最新视频 | 欧美最猛性xxxxx短视频 | 欧美精选视频 | 2020年最新国产精品视频免费 | 国产九九视频在线观看 | 强行扒开美女大腿挺进 | 91精品国产免费久久 |