안녕하세요 !
매번 질문만 올리고 있습니다.

이번은 Android에 올려진(에뮬레이터에 올렸습니다.) File을 읽어서 작업을 할려고 하는데
한글이 깨져서 삽질을 하고 있습니다.

안드로이드 펍에 같은 현상(http://www.androidpub.com/52036)이 올려져 있어서 참조도 해봤는데 해결이 안되고 있어서 글을 올려봅니다.

혹시 이런문제를 해결하신분 계신지 궁금합니다.

아주 디버깅으로 도배를 하고 있습니다.

  try {
      Resources r = ctx.getResources();

     CharSequence url_2 = r.getText(R.string.file_path);
        ////////////////////////////////////////////////////////////////
//     FileReader fr = new FileReader(url_1.toString());
//     BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(new File(url_2.toString())),"UTF8"));
        String s;
           
        Charset euckr = Charset.forName("EUC-KR"); 
        final String keyEncoding = "file.encoding";     
        final String encoding = System.getProperty(keyEncoding); 
        FileReader fr = new FileReader(url_2.toString());
       
         Log.d(TAG,"RESULT Encoding=["+fr.getEncoding()+"]");
        Log.d(TAG,"RESULT System Encoding=["+encoding+"]");
//        BufferedReader in1 = new BufferedReader(new FileReader(url_2.toString()));
//        in = new BufferedReader(new InputStreamReader(new FileInputStream(new File(url_2.toString())),"EUC_KR"));
//        in = new BufferedReader(new InputStreamReader(new FileInputStream(new File(url_2.toString())),"KSC5601"));
//        in = new BufferedReader(new InputStreamReader(new FileInputStream(new File(url_2.toString())),"ISO-8859-1"));
//        in = new BufferedReader(new InputStreamReader(new FileInputStream(new File(url_2.toString())),"8859_1"));
//        in = new BufferedReader(new InputStreamReader(new FileInputStream(new File(url_2.toString())),"UTF-8"));
        FileInputStream  inFile = new FileInputStream(url_2.toString());
        BufferedReader in1 = new BufferedReader(new FileReader(url_2.toString())) ;
       
        while ((s = in1.readLine()) != null) {

      
          Log.d(TAG,"c count=["+c+"]");
          Log.d(TAG,s);
//          Log.d(TAG,  new String(URLEncoder.encode(s,"UTF-8").getBytes(),"EUC-KR"));
//          Log.d(TAG,  new String(URLEncoder.encode(s,"EUC-KR").getBytes(),"EUC-KR"));
//          Log.d(TAG,  new String(URLEncoder.encode(s,"ISO-8859-1").getBytes(),"EUC-KR"));
//          Log.d(TAG,  new String(URLEncoder.encode(s,"UTF-8").getBytes(),"UTF-8"));
//          Log.d(TAG,  new String(URLEncoder.encode(s,"EUC-KR").getBytes(),"UTF-8"));
//          Log.d(TAG,  new String(URLEncoder.encode(s,"ISO-8859-1").getBytes(),"UTF-8"));
         
         
          Log.d(TAG,"iso-8859-1 RESULT=["+new String(s.getBytes("ISO-8859-1"), "KSC5601")+"]");
          Log.d(TAG,"iso-8859-1 RESULT=["+new String(s.getBytes("ISO-8859-1"), "EUC-KR")+"]");
//          Log.d(TAG,"x-windows-949 RESULT=["+new String(s.getBytes("iso-8859-1"), "x-windows-949-kr")+"]");
          Log.d(TAG,"iso-8859-1 RESULT=["+new String(s.getBytes("ISO-8859-1"), "UTF-8")+"]");
          Log.d(TAG,"iso-8859-1 RESULT=["+new String(s.getBytes("ISO-8859-1"), "UTF-16")+"]");
         
         
         
//         
//          Log.d(TAG,"8859-1 RESULT=["+new String(s.getBytes("8859-1"), "KSC5601")+"]");
//          Log.d(TAG,"8859-1 RESULT=["+new String(s.getBytes("8859-1"), "EUC-KR")+"]");
//          Log.d(TAG,"8859-1 RESULT=["+new String(s.getBytes("8859-1"), "UTF-8")+"]");
//          Log.d(TAG,"8859-1 RESULT=["+new String(s.getBytes("8859-1"), "UTF-16")+"]");
//         
         
          Log.d(TAG,"utf-8 RESULT=["+new String(s.getBytes("UTF-8"), "KSC5601")+"]");
          Log.d(TAG,"utf-8 RESULT=["+new String(s.getBytes("UTF-8"), "EUC-KR")+"]");
          Log.d(TAG,"utf-8 RESULT=["+new String(s.getBytes("UTF-8"), "ISO-8859-1")+"]");
          Log.d(TAG,"utf-8 RESULT=["+new String(s.getBytes("UTF-8"), "UTF-16")+"]");
         
         
          Log.d(TAG,"euc-kr RESULT=["+new String(s.getBytes("EUC-KR"), "KSC5601"));
          Log.d(TAG,"euc-kr RESULT=["+new String(s.getBytes("EUC-KR"), "UTF-8"));
          Log.d(TAG,"euc-kr RESULT=["+new String(s.getBytes("EUC-KR"), "ISO-8859-1"));
          Log.d(TAG,"euc-kr RESULT=["+new String(s.getBytes("EUC-KR"), "UTF-16"));
         
          Log.d(TAG,"ksc5601 RESULT=["+new String(s.getBytes("KSC5601"), "EUC-KR"));
          Log.d(TAG,"ksc5601 RESULT=["+new String(s.getBytes("KSC5601"), "UTF-8"));
          Log.d(TAG,"ksc5601 RESULT=["+new String(s.getBytes("KSC5601"), "ISO-8859-1"));
          Log.d(TAG,"ksc5601 RESULT=["+new String(s.getBytes("KSC5601"), "UTF-16"));
         
          Log.d(TAG,"ksc5601 RESULT=["+new String(s.getBytes("UTF-16"), "EUC-KR"));
          Log.d(TAG,"ksc5601 RESULT=["+new String(s.getBytes("UTF-16"), "UTF-8"));
          Log.d(TAG,"ksc5601 RESULT=["+new String(s.getBytes("UTF-16"), "ISO-8859-1"));
//         
         
//          Log.d(TAG,"x-windows-949 RESULT=["+new String(s.getBytes("X-WINDOWS-949"), "EUC-KR"));
//          Log.d(TAG,"x-windows-949 RESULT=["+new String(s.getBytes("X-WINDOWS-949"), "UTF-8"));
//          Log.d(TAG,"x-windows-949 RESULT=["+new String(s.getBytes("X-WINDOWS-949"), "ISO-8859-1"));
         
         
         

          Log.d(TAG,"c count= ####################################### ");
//          Log.d(TAG,"x-windows-949 RESULT=["+new String(s.getBytes("utf-8"), "x-windows-949-kr")+"]");
//          Log.d(TAG,"utf-8=["+new String(s.getBytes("utf-8"), "utf-8")+"]");
       }


아무리 엔코딩을 바꾸어서 Test를 해도 안먹히는데
이건 android문제로 봐야 하는지    ?
아님 JAVA쪽 문제로 봐야 하는지    ?
아님 File쪽 문제로 봐야 하는지      ?

아님 때려쳐야 하는지 ...................  o-o;

안드로이드를 하면 할수로 잼 나는게 아니라 실망이 쪼금씩 쌓이는군여
안드로이드 폰은 아이폰에 비하면 실망스럽다는 느낌이 차츰차츰 싸입니다. (모토로이 버거는 대박인것 같내요)

앞으로 삼성,LG가 어떻게 제품을 출시할지는 시간이 결정하겠지만.
사용자들의 불만이 나올지 아님 좋은 평가가 있을지.
안드로이드가 갈길은 멀어 보이기만 하군여!