• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

안녕하세요 선장님 응답값 한글인코딩 여쭤봅니다

20.02.14 20:36 작성 조회수 273

3

MockMvc로 테스트 중입니다. 응답값이 한글이면 깨지길래 위와 같이 해결했습니다. 근데 너무 지저분해보입니다 ㅠ

혹시 더 좋은 방법 알고계시다면 알려주세요! 감사합니다!

답변 5

·

답변을 작성해보세요.

4

정진우님의 프로필

정진우

2020.03.22

위 해결방법은 @WebMvcTest 슬라이싱 테스트할때 는 적용이 안되고 @SpringBootTest이여야 적용 되는것 같습니다. (application.properties적용하는 빈이 없어서 ?) @WebMvcTest 어노테이션으로 한글이 안깨지도록하려면 mockMvc 설정을 변경해서 해결했습니다

@Autowired
private WebApplicationContext ctx;



@Before
public void setup() {
this.mockMvc = MockMvcBuilders.webAppContextSetup(ctx)
.addFilters(new CharacterEncodingFilter("UTF-8", true)) // 필터 추가
.alwaysDo(print())
.build();
}

0

kys4548님의 프로필

kys4548

2020.08.13

덕분에 해결되었습니다.

감사합니다!!

0

changho an님의 프로필

changho an

2020.03.07

spring.http.encoding.charset=UTF-8

spring.http.encoding.enabled=true

spring.http.encoding.force=true

application.properties 에 추가 하면 되네요 검색해보면 헤더나 필터에 직접 설정하는 방법이 나오던데 제경우엔 이렇게 하니 한글로 잘 출력 됩니다.

0

홍은모님의 프로필

홍은모

질문자

2020.02.15

찾아보겠습니다 감사합니다!

0

흠.. 글쎄요. static final String으로 상수를 새로 정의해서 쓰시거나, charset=utf8이 필요없게 만들면 좋을거 같네요. 한글이 왜 깨지는지를 파고 드셔야 할거 같습니다. 서버의 기본 인코딩이 UTF8이 아닌가 보네요?