1. 程式人生 > >springboot之讀取配置檔案中文亂碼

springboot之讀取配置檔案中文亂碼

方式一:

配置檔案新增
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 
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 */ @Configuration
public 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); } }
最後,記得將檔案編碼修改為utf-8,

設定檔案型別

application.properites的檔案型別修改為UTF-8的編碼型別。

通過以上方法測試獲取出來的值還是亂碼。

· 解決辦法

設定 File EncodingsTransparent native-to-ascii conversiontrue,具體步驟如下:依次點選

File -> Settings -> Editor -> File Encodings

Properties Files (*.properties)下的Default encoding for properties files設定為UTF-8,將Transparent native-to-ascii conversion前的勾選上。