본문 바로가기

내컴퓨터

[JAVA] 한글 깨질때 인코딩 확인하기

서버하고 인코딩까지 다 맞춰서 테스트 완료해놨는데,

어느날 부턴가 한글이 깨져서 응답을 받고 있네??

확인해 달라고 했더니, 서버가 UTF-8에서 EUC-KR로 바뀌었단다.

그러니 EUC-KR로 받아서 쓰란다.


그래서 euc-kr로 바꿔서 했는데,

그래도 깨지네?

췝챕챱쳡츱춉췝챕챱쳡츱춉췝챕챱쳡츱춉췝챕챱쳡츱춉췝챕챱쳡츱춉췝챕챱쳡츱춉

-ㅅ-


도대체 서버에서 인코딩을 뭘로 해서 주는거지?

모든 인코딩 다 동원해서 파싱을 해보기로 했다.

인터넷 발췌 소스.


String str = new String(dec); //우린 

String[] charSet = {"utf-8", "euc-kr", "ksc5601", "iso-8859-1", "x-windows-949"};


for(int i=0; i<charSet.length; i++){

for(int j=0; j<charSet.length; j++){

try{

Log.d(TAG, charSet[i]+":"+charSet[j] +"="+ new String(str.getBytes[charSet[i], charSet[j]);

}catch(Exception e){

//Exception

}

}

}


깨지는 String(byte이면 그냥 new String으로 String 변환 후)을,

위 for문으로 돌려서

모든 인코딩으로 적용해보면, 한글이 보일 것이다!!


저 for문으로 돌려보니..

euc-kr이라던 서버는 iso-8859-1이였다...

-ㅅ-