안드로이드 WebView의 lodaData() 에서 한글 깨짐 방지


Load할 data가 "UTF-8" 일때,


WebView mWebView = (WebView)findViewById(R.id.webView1);

mWebView.getSettings().setDefaultTextEncodingName("UTF-8");


StringBuilder sb = new StringBuilder();
sb.append("<html><head></head><body><table cellpadding=\"3\"             
                                                                   cellsapcing=\"10\" width=\"750\">");
sb.append("<tr align=\"left\" bgcolor=\"#E5CC7F\">");
sb.append("<th>번 호</th>");
sb.append("<th>이 름</th>");
sb.append("<th>나 이</th>");
sb.append("</tr>");

... 중간 생략 ...

sb.append("</table></body></html>");


// Android 4.0 이하 버전

mWebView.loadData(sb.toString(),  "text/html", "UTF-8");  


// Android 4.1 이상 버전

mWebView.loadData(sb.toString(),  "text/html; charset=UTF-8", null);  


assets 폴더에 있는 HTML 파일을 WebView에 표시하는 방식도 있는데

본 소스는 메모리 상의 HTML을 막바로 WebView에 표시하는 방식이다.



+ Recent posts