안드로이드 개발 질문/답변
(글 수 45,052)
RSS를 가지고 파싱을 하고 있습니다.
게시판 목록, 블로그 글 목록을 출력하는 것인데
UTF-8로 된 RSS는 잘 파싱하는데
EUC-KR로 된 RSS를 실행하면 그냥 까만 화면만 나오네요..
무엇이 문제인지 봐주시면 감사하겠습니다.
리드 하는 부분 코딩만 잘라오면..
private Document readFeeder(String mFeeder) { URL mUrl; URLConnection mURLC = null; InputStream mIn = null; InputSource mIs = null; int mResponseCode;
try {
mUrl = new URL("mFeeder); mURLC = mUrl.openConnection(); HttpURLConnection mHttpC = (HttpURLConnection) mURLC;
mResponseCode = mHttpC.getResponseCode(); if (mResponseCode != HttpURLConnection.HTTP_OK) return null;
mIn = mHttpC.getInputStream();
// SAX Parsing 를 위한 DocumentBuilder Setting DocumentBuilderFactory mdbf = DocumentBuilderFactory.newInstance(); DocumentBuilder mdb = null; //mdb try { mdb = mdbf.newDocumentBuilder(); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); }
// SAX Parsing Document mDoc = null; mDoc = mdb.parse(mIn, "EUC-KR"); --> ★★★ //mDoc = mdb.parse return mDoc;
} catch (MalformedURLException e) { // TODO Auto-generated catch block Log.e("BlogList","MalformedURLException"); } catch (IOException e) { // TODO Auto-generated catch block Log.e("BlogList","IOException"); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block Log.e("BlogList","IllegalArgumentException"); } catch (SAXException e) { // TODO Auto-generated catch block Log.e("BlogList","SAXException "); } return null; }
중간에 굵은 글씨로 크게 해 놓은 부분을 저렇게 해도 EUC-kr로 된 RSS는 파싱이 되지 않고요..
utf-8 파싱 할 때는
mDoc = mdb.parse(mIn);
utf-8 파싱 할 때는 이런 식으로 mIn 뒤에 "utf-8"
안 붙여도 잘 되더군요..
뭐가 문제일까요?
SAX입니다.
다른 설정 뭔가를 또 바꾸어야 하는지..