본문 바로가기
개발툴

CDATA 섹션에서 부적합한 XML 문자(유니코드: 0xb)가 발견되었습니다

by 탁구치는 개발자 2016. 3. 9.

jsp 파일내에서 아래와 같은 오류가 발생하는 케이스가 있다.


org.apache.jasper.JasperException: <h3>Validation error messages from TagLibraryValidator for fmt_rt in /_171.jsp</h3><p>null: org.xml.sax.SAXParseException; lineNumber: 3679; columnNumber: 53; CDATA 섹션에서 부적합한 XML 문자(유니코드: 0xb)가 발견되었습니다.</p><h3>Validation error messages from TagLibraryValidator for c in /_171.jsp</h3><p>null: org.xml.sax.SAXParseException; lineNumber: 3679; columnNumber: 53; CDATA 섹션에서 부적합한 XML 문자(유니코드: 0xb)가 발견되었습니다.</p>


실제 이상하게 들어간 특수문자


눈에 보이지 않는 이상한 특수문자가 포함되어 있는 경우 발생되며 이를 해결하기 위해서는 다음과 같이 두 가지 방법을 이용하면 된다.


가장 쉬운 첫 번째 방법은 ctrl + shft + f 를 이용하는 것이다. 이클립스에서 제공하는 포멧팅을 하게 되면 특수문자가 사라진다. (혹, 내가 사용하는 이클립스만 그런 것일수도 있겠지만..)


두 번째 방법은 오류가 발생하는 페이지에서 다음과 같이 정규표현식을 이용하여 이상한 특수문자를 찾은 후 제거해 주는 것이다.



정규표현식

[^\u0009\u000A\u000D\u0020-\uD7FF\uE000-\uFFFD\u10000-\u10FFF]+