일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Spring Boot
- db
- MySQL
- Design Patterns
- Spring
- Oracle
- laravel
- IntelliJ
- ReactJS
- javascript
- 요리
- it
- jsp
- ubuntu
- Git
- elasticsearch
- Spring Batch
- Web Server
- JVM
- redis
- jenkins
- php
- AWS
- java
- springboot
- 맛집
- devops
- Gradle
- tool
- linux
Archives
- Today
- Total
아무거나
결과값 리턴값이 String 인 경우 한글이 깨지는 현상 (설정 파일에서 인코딩을 지정해도 안될 경우) 본문
Java & Kotlin/Spring
결과값 리턴값이 String 인 경우 한글이 깨지는 현상 (설정 파일에서 인코딩을 지정해도 안될 경우)
전봉근 2022. 4. 26. 23:37반응형
결과값 리턴값이 String 인 경우 한글이 깨지는 현상 (설정 파일에서 인코딩을 지정해도 안될 경우)
- 원인은 HTTP 메소드 컨버터의
StringHttpMessageConverter
에서 기본 옵션ISO-8859-1
을 발견
- 해결방법
String 이 아닌 다른 값으로 가공
(굳이 String 이 아닌 Response Model 클래스를 따로 만들어서 리턴하였음)- WebConfig 의 configureMessageConverters 오버라이딩하여 converter.setWriteAcceptCharset(false); 로 변경
@Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter { @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { StringHttpMessageConverter converter = new StringHttpMessageConverter(StandardCharsets.UTF_8); converter.setWriteAcceptCharset(false); //이거 설정 안하면 Accept-Charset에 대다수의 Encoding Type 리턴함 converters.add(converter); super.configureMessageConverters(converters); } }
- 우선순위가 가장 높은 ContentType 에 캐릭터셋 명시
HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.valueOf("application/json;charset=EUC-KR"); HttpEntity entity = new HttpEntity<>(content, headers); RestTemplate restTemplate = new RestTemplate(); restTemplate.exchange(apiUrl, HttpMethod.POST, entity, Response.class);
반응형
'Java & Kotlin > Spring' 카테고리의 다른 글
빌드시 plain.jar 생성 방지 (1) | 2022.05.06 |
---|---|
@NotEmpty 등과 같은 Annotation 이 import 안될 때 (0) | 2022.05.06 |
[Spring Boot] DB 관련 로그 추가(쿼리바인딩) (1) | 2021.05.14 |
[SpringBoot] Ehcache를 사용한 Cache 사용 (0) | 2021.04.22 |
[Spring boot] Jasypt를 활용한 Application Property 암호화 (0) | 2020.12.14 |
Comments