SAX 방식으로 웹 리소스 파싱할때 2-BYTE 이슈 해결 JAVA 향기

    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에게 던져주니 해결    


트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://hongsgo.egloos.com/tb/2815330 [도움말]

덧글

댓글 입력 영역



메모장