dom4j를 이용하여 웹서비스에서 데이터를 파싱하는 중에 나온 에러입니다.

JUnit으로 테스트할 때는 이상이 없던터라 데이타가 나오지 않아 깜짝 놀랐네요.

로그를 찾아보니  SAXException: Invalid byte 2 of 2-byte UTF-8 sequence

말 그대로 UTF-8 로 인코딩된 정보가 아니라는 거죠.

당연히 수신측과 송신측의 인코딩 타입은 동일해야 겠죠.

 

그동안은 보내는 쪽 코딩을 주로 했던터라. 저역시 대부분 UTF-8로 변환하여 보냈습니다만

이번에는 수신할 때가 문제였네요. 아마 그쪽에서 인코딩 타입을 EUC-KR 으로 사용했었나 봅니다.

 

  SAXReader xmlReader = new SAXReader();
  xmlReader.setEncoding("EUC-KR");
  Document doc = xmlReader.read(inputstream);

 

이렇게 stream 데이터를 읽기 전에 EUC-KR로 인코딩타입을 명시하니 이상없이 동작하네요.

 

 

 

 

 
블로그 이미지

시반

시반(詩伴)이란 함께 시를 짓는 벗이란 뜻을 가지고 있습니다. 함께 나눌수 있는 그런 공간이길 바라며...

카테고리

분류 전체보기 (233)
개발 이야기 (73)
WEB2.0 (57)
DB2 (24)
MySQL (6)
오라클 (26)
기타 (44)
취미 (0)
잡담 (2)