久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

springboot全局字符編碼設(shè)置解決亂碼問題

瀏覽:139日期:2023-04-24 08:10:04

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

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

1、在application.properties中設(shè)置

#編碼格式spring.http.encoding.force=truespring.http.encoding.charset=UTF-8spring.http.encoding.enabled=trueserver.tomcat.uri-encoding=UTF-8

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

springboot全局字符編碼設(shè)置解決亂碼問題

2、自己手寫編碼過濾器

//字符編碼過濾器@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配置寫一個字符編碼配置類

/** * 中文亂碼解決 */@Configurationpublic 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是一個請求和響應(yīng)信息的編碼轉(zhuǎn)換器,通過源碼我們發(fā)現(xiàn)默認(rèn)編碼ISO-8859-1,不是UTF-8,所以我們只要通過上述配置將請求字符串轉(zhuǎn)為UTF-8 即可

springboot全局字符編碼設(shè)置解決亂碼問題

WebMvcConfigurerAdapter 是springmvc的一個配置支配器類,我們可以實(shí)現(xiàn)我們感興趣的方法。

springboot全局字符編碼設(shè)置解決亂碼問題

其實(shí)現(xiàn)的接口WebMvcConfigurer 定義了一些回調(diào)方法為springmvc提供一個通道通過java基本的配置。

springboot全局字符編碼設(shè)置解決亂碼問題

到此這篇關(guān)于springboot全局字符編碼設(shè)置解決亂碼問題的文章就介紹到這了,更多相關(guān)springboot 全局字符編碼內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 巴林右旗| 金塔县| 阿勒泰市| 南岸区| 洪泽县| 克拉玛依市| 称多县| 镇赉县| 宁阳县| 西峡县| 拉萨市| 呼图壁县| 台东市| 曲靖市| 定西市| 枝江市| 营口市| 永登县| 盐津县| 万年县| 马边| 浦城县| 博湖县| 北宁市| 金乡县| 巨鹿县| 齐河县| 天峻县| 安国市| 成安县| 安远县| 东平县| 秭归县| 从化市| 通江县| 甘谷县| 贵定县| 攀枝花市| 巩留县| 洪雅县| 东辽县|