springboot之讀取配置檔案中文亂碼
阿新 • • 發佈:2019-02-15
方式一:
配置檔案新增
banner.charset=UTF-8 server.tomcat.uri-encoding=UTF-8 spring.http.encoding.charset=UTF-8 spring.http.encoding.enabled=true spring.http.encoding.force=true spring.messages.encoding=UTF-8
方式二:
在控制器requesrMapping:新增@RequestMapping(value = "test",produces="text/html;charset=UTF-8", method = RequestMethod.GET)
方式三:
寫一個工具類package com.example.demo.dataSourceConfig; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.StringHttpMessageConverter; import最後,記得將檔案編碼修改為utf-8,org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import java.nio.charset.Charset; import java.util.List; /** * @Description: * @Author 羅曼蒂克 * @Date Created in 10:55 2018/6/6 */ @Configurationpublic class CustomMVCConfiguration 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); } }
設定檔案型別
將application.properites
的檔案型別修改為UTF-8
的編碼型別。
通過以上方法測試獲取出來的值還是亂碼。
· 解決辦法
設定 File Encodings
的Transparent native-to-ascii conversion
為true
,具體步驟如下:依次點選
File -> Settings -> Editor -> File Encodings
將Properties Files (*.properties)
下的Default encoding for properties files
設定為UTF-8
,將Transparent native-to-ascii conversion
前的勾選上。