어제 이어서 또 질문 드립니다
웹뷰에서 클릭하면 앱에서 데이타를 받아왔는데 영어와 숫자는 올바로 받아오는데 한글이 완전 깨집니다
웹에서 아래와 같이 했습니다
<a href="data:한글사랑'>한글사라</a>
앱에선 아래와 같이 했습니다
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.startsWith("datal:")) {
String[] msg = url.split(":") ; -->이걸 인코딩을 하라고 하는데 어떻게 해야하나요?
Toast.makeText(this, msg[1] , 5).show();
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<%@ page import="java.sql.*" %>
<%@ page import = "java.text.*"%>
<%@page import="java.util.*" %>
<%
~~~~~
%>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<meta name="viewport" content="user-scalable=yes, initial-scale=1.0, maximum-scale=1.5, minimum-scale=1.0, width=device-width" />
rs.getString("name")
이렇게 하고 있습니다
미치겠습니다
도와주세요
통신쪽(http)은 한글이 안깨집니다
영어는 잘 됩니다
한글(한글사랑)은 완전 깨집니다
이거 참 어떻게 해야되나요?
미쳐버리겠습니다
부탁드리겠습니다
음 제가 이해하는게 맞나 모르겟지만
예를 들면 test.html이 있다고 가정하고
test.html 에는 <a href="data:한글사랑'>한글사라</a> 코드가 있어서
안드로이드 웹뷰에서 한글사라를 클릭하면 url로 "data:한글사랑"이 넘어와야하는데
한글사랑 이라는 부분이 깨진다는 것이고 http통신으로 잘보인다는건
안드로이드가 아닌 인터넷 익스플로러등으로 test.html를 실행하면 잘 보인다는게 맞나요??
그럼 test.html 파일을 메모장으로 열어서 파일을 저장 할때 인코딩 방식이 무엇으로 되어있나 살펴보세요.
저번 글에도 똑같은 내용으로 댓글을 달고 답글을 확인햇지만 이해가 잘 안되는 상황이네요.
지금 확인 해봣는데 파일형식은 UTF-8로 되어 있습니다
String url = http://127.0.0.1:8081/test.html;
HttpPost httpPost = new HttpPost(url);
httpPost.addHeader(entity.getContentType());
httpPost.setEntity(entity);
HttpClient httpClient = new DefaultHttpClient();
HttpParams tmpparms = httpClient.getParams();
이런식으로 통신을 해서 데이타를 받으면 한글이 안깨집니다
그런데 웹브라우저에서 액션(a 태그)을 클릭해서 데이타를 가지고 오면 한글이 완전 깨집니다
이거 때문에 미쳐버리기 직전입니다
도와주십시오
아 그러면
shouldOverrideUrlLoading() 에서 넘어오는 url이 인코딩 방식이 utf-8로 안되어있는게 아닐까요??
try {
url = new String(url.getBytes("UTF-8"),"UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
이런식으로 url를 다시 인코딩 해보면 어떨까요??; (직접해본게 아니라서 확답드리긴 무리겟네요 ㄷㄷ)




utf8로 인코딩해야 할겁니다...
안되면 골룸...