Spring boot 설정 파일 매개 변수 중국어 난호 해결

1926 단어 자바 백 엔 드
Spring boot 는 일반적인 properties 프로필 을 쓸 수도 있 고 yml 프로필 을 쓸 수도 있다 는 것 을 알 고 있 습 니 다.
Spring boot 자체 가 일부 물건 을 봉인 하여 설정 파일 을 읽 는 것 은 매우 간단 합 니 다.
그러나 불편 함 은 중국어 문자 에 대한 처리 가 어색 하 다 는 것 입 니 다. properties 설정 파일 을 사용 하 는 데 있어 서 자신의 encoding 을 설정 할 수 없고 properties 가 유효 하지 않 습 니 다.다음 과 같다.
server.tomcat.uri-encoding=UTF-8
spring.banner.charset=UTF-8
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
spring.messages.encoding=UTF-8

중국어 내용 을 읽 을 때 오류 가 발생 합 니 다. properties 파일 을 utf - 8 인 코딩 으로 다시 저장 하 는 것 을 포함 하여 아직 쓸모 가 없습니다.
자바 공식 문 서 를 보십시오. Properties 클래스 에 대한 관건 적 인 내용 은 다음 과 같 습 니 다.
The  load(Reader)   /   store(Writer, String)  methods load and store properties from and to a character based stream in a simple line-oriented format specified below. The  load(InputStream)   /   store(OutputStream, String)  methods work the same way as the load(Reader)/store(Writer, String) pair, except the input/output stream is encoded in ISO 8859-1 character encoding. Characters that cannot be directly represented in this encoding can be written using Unicode escapes as defined in section 3.3 of The Java™ Language Specification; only a single 'u' character is allowed in an escape sequence.
그래서 Spring boot 프로젝트 에서 properties 파일 을 어 지 럽 히 는 것 에 대해 공식 적 으로 는 "Characters that cannot be directly represented in this encoding can be written using Unicode escapes" 입 니 다.유 니 코드 의 escape 코드 를 사용 하여 중국 어 를 표시 하여 난동 을 피 하 는 것 이다.
이렇게 귀 찮 게 하고 싶 지 않 으 면 새로운 yml 프로필 을 사용 할 수 있 습 니 다.yml 은 YamlProperty SourceLoader 로 불 러 옵 니 다. 이 로 더 는 기본적으로 UTF - 8 인 코딩 을 사용 합 니 다.중국 어 는 아무런 문제 가 없 을 것 이다.
다시 말 하면 Spring Boot 설정 파일 의 중국어 번 거 로 움 을 피 하 는 두 가지 방법 이 있 습 니 다.  1. 유 니 코드 의 escape 코드 를 사용 하여 중국 어 를 표시 합 니 다.  2. 내용 을 Yml 형식 으로 저장 합 니 다.

좋은 웹페이지 즐겨찾기