SAXException: Invalid byte 2 of 2-byte UTF-8 sequence
개발 이야기/Java |
2009. 9. 11. 19:25
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로 인코딩타입을 명시하니 이상없이 동작하네요.
'개발 이야기 > Java' 카테고리의 다른 글
Redmine 백업하기 - MySQL 백업. (0) | 2010.03.05 |
---|---|
Redmine 백업하기 - cwRsyn을 이용한 원격백업 (0) | 2010.03.05 |
[Hudson] Your container doesn't use UTF-8 to decode URLs (0) | 2009.09.08 |
JOTM을 이용한 분산 트랜잭션 처리 - Spring (0) | 2009.06.15 |
Struts2 에서 엑셀로 저장하기(Result를 엑셀로 지정) (0) | 2009.04.22 |