2013-01-17 5 views
1

json 배열을 사용하고 .txt 파일을 통해 텍스트를 구문 분석 중입니다. 중국어 문자가 내부에 있는데 제대로 표시 할 수없는 것 같습니다.json 배열 및 중국어 텍스트

내 txt 파일 출력 :

{ 
    "guides": [ 
     { 
     "description": "Download magazines/下载杂志", 
       "image": "http://58.185.41.178/magazine_android/guide/download.png" 
     }, 
    { 
     "description": "Delete magazines/删除杂志", 
       "image": "http://58.185.41.178/magazine_android/guide/trash.png" 
     }, 
    { 
     "description": "Preview magazines", 
       "image": "http://58.185.41.178/magazine_android/guide/preview.png" 
     }, 
    { 
     "description": "Update magazine issues/更新杂志", 
       "image": "http://58.185.41.178/magazine_android/guide/refresh.png" 
     }, 
    { 
     "description": "Settings/设置", 
       "image": "http://58.185.41.178/magazine_android/guide/settings.png" 
     }, 
    {  
     "description": "Read magazine/阅读杂志", 
       "image": "http://58.185.41.178/magazine_android/guide/magazine.png" 
     }   
    ] 
} 

하지만 출력은 항상 이상한 중국어 텍스트가 될 것이다! 예 : http://i49.tinypic.com/211tnco.jpg

class LoadGuide extends AsyncTask<String, String, String> { 

     /** 
     * getting All videos from url 
     * */ 
     protected String doInBackground(String... args) { 
      // Building Parameters 
      List<NameValuePair> params = new ArrayList<NameValuePair>(); 
      // getting JSON string from URL 
      JSONObject json = jParser.makeHttpRequest(url_guide, "GET", params); 

      // CHECKING OF JSON RESPONSE 
      Log.d("All guide: ", json.toString()); 

      try { 
       guide = json.getJSONArray(TAG_GUIDES); 
       for (int i = 0; i < guide.length(); i++) { 
        JSONObject c = guide.getJSONObject(i); 

        //String title = c.getString(TAG_DESCRIPTION); 
        String image = c.getString(TAG_IMAGE); 
        String description = c.getString(TAG_DESCRIPTION); 

        guideList.add(image); 
        descriptionList.add(description); 
        System.out.println(guideList); 
        System.out.println(descriptionList); 
        }   


      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 

      return null; 
     } 

     /** 
     * After completing background task Dismiss the progress dialog 
     * **/ 
     protected void onPostExecute(String file_url) { 

     /** 
     * Updating parsed JSON data into ListView 
     * */ 

      adapter.notifyDataSetChanged(); 

     } 

    } 
+0

서버에서 데이터를 가져 오는 문자 인코딩 문제 일 수 있습니까? "All guide"로그 출력에서 ​​여전히 정상입니까? – Henry

+0

인코딩 문제와 유사합니다. 소스 문서의 인코딩을 알고 있는지, 인코딩을 사용하여 메모리로 읽었는지, 목록보기에 물건을 넣을 때 올바른 인코딩을 사용하는지 등을 확인해야합니다. 이미 인코딩 작업을하고있는 Joel Spolsky (SO 설립자 중 한 명) [당신이 떠나기 전에 뇌관으로 읽어야 할 가치가있는이 기사를 썼습니다.] (http://www.joelonsoftware.com/articles/Unicode.html) 기술적 인 세부 사항을 찾고 있습니다. –

답변

0

확인이 질문에 here을 내 JSON입니다. UTF8 형식을 사용하여 중국어 문자 표시