2012-06-11 3 views
0

다음은 Android 용 샘플입니다. 데스크톱 자바로 시도했을 때도 똑같은 일이 일어났습니다. 어떻게 작동시킬 수 있습니까?유니 코드의 URL 코드가 mojibake가됩니다.

접두사는 WebViews에 UTF-8을 표시하는 것과 관련하여 또 다른 질문에서 비롯된 것입니다.

public class MainActivity extends Activity 
{ 
    Util util = Util.get(this); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     WebView w = new WebView(this); 
     setContentView(w); 
     String prefix = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"; 
     String data0 = "%92"; 
     String data; 
     try 
     { 
      data = URLDecoder.decode(data0, "UTF-8"); 
     } 
     catch (UnsupportedEncodingException e) 
     { 
      data = e.getLocalizedMessage(); 
     } 
     w.loadData(prefix + data, "text/html; charset=UTF-8", "utf-8"); 
    } 
} 

답변

0

URL 인코딩 진수 문자열 %92 유효한 UTF-8 인코딩 된 문자열이 아닙니다. 그래도 Windows-1252에서 유효합니다. 거기에 곱슬 오른쪽 작은 따옴표 에 해당합니다. 어쩌면 "UTF-8" 대신 "cp1252"을 사용해야할까요?

UTF-8을 사용하려면 둥근 오른쪽 작은 따옴표를 %E2%80%99으로 URL 인코딩해야합니다.