이 머스테치 코드를 띄우기 위한 Controller 코드를 작성했다.
경로와 확장자는 index로 반환한 것을 경로/index.mustache로 viewResolver가 처리해준다.
다만 문제가 생겼다
나는 분명
이게 뜨길 윈했다.
네?
Content-Type을 확인해보니 UTF-8이 아니라 ISO-8859-1이다.
우선
[File] - [Settings] - [Editor] - [File Encodings]
경로로 들어간 후
Global Encoding, Project Encoding, Default encoding for properties files까지 UTF-8로 변경 후 Transparent native-to-ascii conversion까지 체크 해주고 Apply후 OK를 눌러준다.
똑같다.
그럼 다른 설정을 위해
C:\사용자\사용자이름\AppData\Roaming\JetBrains
경로로 접속 후에
Ideal버전을 눌러준다.
그리고 해당 파일을 열어서
-Dfile.encoding=UTF-8
-Dconsole.encoding=UTF-8
를 입력해준다.
여기까지 했는데도 안돼서 application.properties의 설정을 추가했다.
application.properties
# Spring Boot 웹 인코딩 설정 spring.web.encoding.charset=UTF-8 spring.web.encoding.enabled=true spring.web.encoding.force=true spring.mustache.encoding=UTF-8 server.tomcat.uri-encoding=UTF-8 server.servlet.encoding.charset=UTF-8 server.servlet.encoding.enabled=true server.servlet.encoding.force=true spring.mvc.locale=ko_KR spring.mvc.locale-resolver=fixed
뭐가 문제인 지 몰라서 UTF-8 인코딩 관련 코드들은 다 긁어왔다.
잘 된다.
결론부터 말하자면 나는 나머지는 저 위에 코드중 나머지는 다 주석처리하고
server.servlet.encoding.force=true
이 코드 한 줄 추가한 것 만으로 잘 된다.
응답 인코딩이 기본값이 ISO-8859-1로 설정되어 있었을 가능성이 높을 것 같다.
server.servlet.encoding.force=true는 HTTP 요청과 응답에 UTF-8 인코딩을 강제로 적용하는 코드이다. 생각보다 인코딩에 시간을 많이 뺏기는데 그런 분들에게 도움이 되면 좋겠다.