안녕하세요~
저는 RSS 샘플 코드 소스에서
제 RSS 주소로만 바꿔서 입력을 했는데 한글이 다 깨져서 나오드라구요ㅜㅜ
원래 소스에서는 안그러는데 주소만 바꿨을뿐인데 한글이 깨져나오네요.. ㅜㅜ
UTF-8을 여러가지로 다 바꿔봤는데 안되드라구요~
아래는 소스입니다~
문제점이 뭐까요 ㅜㅜ 고수님들 도와주세요~!!
public class MainActivity extends Activity {
ListView myListview;
IconTextView temp;
ArrayList<XmlData> m_xmlData = new ArrayList<XmlData>();
// 저장공간
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
// window feature for no title - must be set prior to calling
// setContentView.
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
myListview = (ListView) findViewById(R.id.myListview);
final IconTextListAdapter adapter = new IconTextListAdapter(this);
// add four items
Resources res = getResources();
m_xmlData = getXmlData("daily");
// m_xmlData 가져오기
Iterator<XmlData> it = m_xmlData.iterator();
while (it.hasNext()) {
// Book str = it.next();
XmlData xmlData = it.next();
adapter.addItem(new IconTextItem(res.getDrawable(R.drawable.arrow),
xmlData.d_title, xmlData.d_link, xmlData.d_author));
}
myListview.setAdapter(adapter);
myListview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
IconTextItem Item = (IconTextItem) adapter.getItem(arg2);
String[] data = Item.getData();
Intent intent = new Intent (Intent.ACTION_VIEW,Uri.parse(data[1]));
startActivity(intent);
}
});
}
public ArrayList<XmlData> getXmlData(String searchTxt) {
String m_sConnectUrl = "http://cafe.daum.net/xml/rss/ieneverdie/NPa&tag=" +searchTxt;
XmlData xmlData = null;
String sTag;
try {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
URL u = new URL(m_sConnectUrl);
// InputStream in = u.openConnection().getInputStream();
InputStream in = u.openStream();
xpp.setInput(in, "UTF-8");
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_DOCUMENT) {
// System.out.println("Start document");
} else if (eventType == XmlPullParser.END_DOCUMENT) {
// System.out.println("End document");
} else if (eventType == XmlPullParser.START_TAG) {
Log.e("START_TAG", xpp.getName());
sTag = xpp.getName();
if (sTag.equals("title")) {
// Log.e("title_getText",xpp.nextText());
xmlData = new XmlData();
xmlData.d_title = xpp.nextText();
}
if (sTag.equals("link")) {
xmlData.d_link = xpp.nextText();
}
if (sTag.equals("creator")) {
// Log.e("title_getText",xpp.nextText());
xmlData.d_author = xpp.nextText();
}
// System.out.println("Start tag "+xpp.getName());
} else if (eventType == XmlPullParser.END_TAG) {
// System.out.println("End tag "+xpp.getName());
sTag = xpp.getName();
if (sTag.equals("item")) {
m_xmlData.add(xmlData);
xmlData = null;
}
} else if (eventType == XmlPullParser.TEXT) {
// System.out.println("Text "+xpp.getText());
}
eventType = xpp.next();
}
} catch (Exception e) {
// TODO: handle exception
}
return m_xmlData;
}
}