복붙노트

[SPRING] SpringBoot - UTF-8은 messages.properties에서 작동하지 않습니다.

SPRING

SpringBoot - UTF-8은 messages.properties에서 작동하지 않습니다.

UTF-8에서 messages.properties에있는 메시지를 표시 할 수 없습니다.

예제

<h1 id="logo">Electrónico</h1>

이 괜찮아요하지만이 같은 내 메시지 원본을 사용하려고 할 때 작동합니다.

<h1 id="logo" th:text="#{titulo.electronico}">Electrónico</h1>

나는 Electrónico 대신에 "Electr nico"를 얻는다.

이것은 나의 구성이다.

application.properties

spring.messages.encoding=UTF-8
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8

Pom.hml

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <start-class>demo.Demo</start-class>
    <java.version>1.7</java.version>
</properties>

데모 클래스

@SpringBootApplication
public class Demo {

    public static void main(String[] args) {
        SpringApplication.run(Demo.class, args);
    }
}

ServletInitializer.class

@Configuration
public class ServletInitializer extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Demo.class);
    }

    @Bean
    public ServletRegistrationBean h2servletRegistration() {
        ServletRegistrationBean registration = new ServletRegistrationBean(new WebServlet());
        registration.addUrlMappings("/console/*");
        return registration;
    }

    @Bean
    @Order(Ordered.HIGHEST_PRECEDENCE)
    CharacterEncodingFilter characterEncodingFilter() {
      CharacterEncodingFilter filter = new CharacterEncodingFilter();
      filter.setEncoding("UTF-8");
      filter.setForceEncoding(true);
      return filter;
    }
}

구성에 대한 추가 정보가 필요하면 편집 할 수 있습니다. 감사.

해결법

  1. ==============================

    1.UTF-8 인코딩의 파일을 읽으려면 먼저 UTF-8로 작성해야합니다.

    UTF-8 인코딩의 파일을 읽으려면 먼저 UTF-8로 작성해야합니다.

    인코딩 전환을 지원하는 일부 편집기를 사용하십시오. 또는 속성 파일의 인코딩 옵션이있는 IDE에서 해당 파일을 만듭니다. 예 : IDEA : http://blog.jetbrains.com/idea/2013/03/use-the-utf-8-luke-file-encodings-in-intellij-idea/

  2. ==============================

    2.내 경우에는 messageSource.setDefaultEncoding ( "UTF-8")을 잊어 버렸습니다. http://forum.spring.io/forum/spring-projects/web/42668-solution-for-utf-8-encoding-problem-inside를 참조하십시오. -property-files

    내 경우에는 messageSource.setDefaultEncoding ( "UTF-8")을 잊어 버렸습니다. http://forum.spring.io/forum/spring-projects/web/42668-solution-for-utf-8-encoding-problem-inside를 참조하십시오. -property-files

  3. ==============================

    3.바라기를 이것은 다른 사람들을 도울지도 모른다. 필자의 경우 다양한 코드 솔루션이 작동하지 않았지만 편집기 설정이 적용되었습니다.

    바라기를 이것은 다른 사람들을 도울지도 모른다. 필자의 경우 다양한 코드 솔루션이 작동하지 않았지만 편집기 설정이 적용되었습니다.

    intellij를 사용하여 파일 인코딩으로 이동하고 전역 및 프로젝트 인코딩을 UTF-8로 설정하는 경우 등록 정보 파일의 기본 인코딩이 필요하며 매우 중요한 - Transaparent native-to-ascii 변환을 확인하십시오.

    알맞은 텍스트 편집기로 파일을 열면 UTF-8 버전과 같은 일부 문자가

    필자의 경우 변경으로 인해 GIT가 변경되지 않았으므로 커밋과 푸시를 수행하기 위해 파일을 "가짜"로 수정해야했습니다.

  4. from https://stackoverflow.com/questions/28112852/springboot-utf-8-doesnt-work-in-messages-properties by cc-by-sa and MIT license