private static String sendData(ArrayList<NetworkData> data) throws Exception {
     HttpPost request = makeHttpPost(data);
     HttpClient client = new DefaultHttpClient();
     BasicResponseHandler reshandler = new BasicResponseHandler();
     String result = client.execute(request, reshandler);
     
     return result;
    }
 
    private static HttpPost makeHttpPost(ArrayList<NetworkData> data) throws Exception {
     HttpPost request = new HttpPost("http://......");
     Vector<BasicNameValuePair> nameValue = new Vector<BasicNameValuePair>();
     for (int i = 0; i < data.size(); i++) {
         nameValue.add(new BasicNameValuePair(data.get(i).tag, data.get(i).data));
  }
     request.setEntity( makeEntity(nameValue) );
     return request;
    }
   
    private static HttpEntity makeEntity(Vector<BasicNameValuePair> nameValue) throws Exception {
     HttpEntity result = null;
     try {
      result = new UrlEncodedFormEntity(nameValue, HTTP.UTF_8);
     } catch (UnsupportedEncodingException e) {
      e.printStackTrace();
     }
     
     return result;
    }

 

 

public void xml() {

   XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
      factory.setNamespaceAware(true);
      XmlPullParser parser = factory.newPullParser();
      parser.setInput(new StringReader(sendData(data)));
      int eventType = parser.getEventType();
      String tag = "";


      Log.i("XML_Loading", sendData(data));
      
   while (eventType != XmlPullParser.END_DOCUMENT) {
    switch (eventType) {
    case XmlPullParser.START_DOCUMENT:
    case XmlPullParser.END_DOCUMENT:
    case XmlPullParser.END_TAG:
     break;
    case XmlPullParser.START_TAG:

     break;
    case XmlPullParser.TEXT:
     break;
......

 

 

 

대략 소스는 이런식이구요.

위의 Log.i("XML_Loading", sendData(data)); 이부분으로 로그를 찍어보면 xml은 제대로 넘어오고, 값도 제대로 파싱되서 짤리긴 하는데, 넘어온 한글이 깨지더라고요..

어떻게 해야 한글을 제대로 받을수 있나요?

 

참고로 xml은 utf-8형식으로 넘어옵니다.

get방식으로 받으면 한글이 제대로 들어옵니다.

 

get방식 소스는 참고로 아래와 같습니다.

//   URL url = new URL("http://.....");
//   XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
//   XmlPullParser parser = factory.newPullParser();
//   URLConnection uc = url.openConnection();
//   uc.setConnectTimeout(10000);
//   uc.setReadTimeout(10000);
//   InputStream is = uc.getInputStream();
//   parser.setInput(is, "utf-8");