2009년 07월 30일
SAX 방식으로 웹 리소스 파싱할때 2-BYTE 이슈 해결
menuXmlSaxHandler = new MenuXmlSaxHandler();
factory = SAXParserFactory.newInstance();
URL url2 = new URL(url);
HttpURLConnection httpConn = null;
httpConn = (HttpURLConnection)url2.openConnection();
HttpURLConnection.setFollowRedirects(true);
httpConn.connect();
BufferedReader reader = new BufferedReader(new InputStreamReader(httpConn.getInputStream()));
InputSource is = new InputSource(reader);
is.setEncoding("UTF-8");
sparser = factory.newSAXParser();
sparser.parse(is,menuXmlSaxHandler);
httpConn.disconnect();
로컬에서는 괜찮았는데
썬서버에 올리니까 SAX 파싱시 에러가 났다.
UTF-8로 저장되지 않아서 그런걸로 짐작.
그래서 httpurlconnection을 통해 웹 리소스 xml을 스트림으로 읽어와서
inputsource에 넣고 utf-8로 인코딩 한다음 sax parser에게 던져주니 해결
# by | 2009/07/30 15:20 | JAVA 향기 | 트랙백 | 덧글(0)








☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]