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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品不卡高清在线观看 | 日韩成人影视 | 国产精品嫩草影院一二三区入口 | 天天操天天草 | 果冻传媒在线完整免费观 | 母性本能在线观看 | 大胆国模一区二区三区伊人 | 给我免费观看的视频在线播放 | 無码一区中文字幕少妇熟女H | 男人把j放进女人的p里视频 | 青青草原社区 | 色男人的天堂久久综合 | 调教女高中生第3部分 | 女人用粗大自熨喷水在线视频 | 国产国语在线播放视频 | 91亚洲视频在线观看 | 亚洲欧美另类综合 | 国色天香视频完整版 | 日本高清在线播放一区二区三区 | 交欧美 | 艹出白浆 | 婷婷综合七月激情啪啪 | 羞羞视频麻豆 | 国产精品色片 | hd性欧美俱乐部中文 | 亚洲国产精品无码中文字幕 | 四虎永久网址在线观看 | www日本视频 | 给我一个黄色网址 | 5566中文字幕亚洲精品 | 欧美一卡2卡3卡四卡海外精品 | avtt天堂网 手机资源 | 精品一区二区三区高清免费不卡 | xxxx18日本视频xxxxx | 国产精品玖玖玖影院 | 亚洲成人99 | 无人区在线观看免费视频国语 | 黄瓜视频黄 | 成人午夜爽爽爽免费视频 | 精品久久久噜噜噜久久久app | 国产中文字幕 |