[완료]Applet - Webserver 간에 한글이 깨지는 문제 ( 한글 인코딩 문제 )
글쓴이: alwaysN00b / 작성시간: 목, 2009/12/03 - 3:54오후
안녕하세요.
도저히 제 능력으로 해결이 안되어 질문 올립니다.
서버측은 tomcat6을 사용하구 있습니다. 클라이언트는 애플릿으로 그냥 tcp 스트림을 열어서 읽어들입니다.
URL url = new URL("http://xxxx.xxx.xxx:8080/foo1.json"); InputStream inputStream = url.openSteram(); StringBuffer sbuf = new StringBuffer(); while( ..) { 생략 }
대충 적었습니다. ( 사내 네트웍이 인터넷에 연결되어 있지 않습니다)
먼저 애플릿 뷰어로 봤을때는 정상적으로 문자열이 수신이 됩니다.
하지만 브라우저에서 실행해보면 문자열이 깨져버립니다.
받는 문자열이 '자동네트웍관리시스템' 이라고 할때
스트림에서 읽어서 바로 확인해보면
애플릿뷰어에서는
자동네트웍관리시스템 ec 9e 90 eb 8f 99 eb 84 a4 ed 8a b8 ec 9b 8d ea b4 80 eb a6 ac ec 8b 9c ec 8a a4 ed 85 9c
정상적으로 3byte UTF-8 입니다.(보시기 편하라고 스페이스 넣었습니다. ^^)
그런데 브라우저에서 실행해보면(IE8 , firefox3 )
?맶룞?ㅅㅂ듃?띻? <== 생략(키보드로 직접치는거라 특수문자 넣기가 힘드네요 ) ef bf bd eb a8 ae eb a3 9e ef bf bd e3 85 bd eb 93 83 ef bf bd eb 9d bb ef bf bd e7 94 b1 d1 8a eb 96 86 ef bf bd e3 85 bd eb 80 a5
이렇게 바이트수가 늘어나고, 언뜻보면 UTF-8 인것 같지만 제 짧은 지식으로 2가지 결과의 차이점을 알기가 힘드네요...
제생각으론 Modified UTF-8 문제는 아닌것 같습니다.
어디가 문제 일까요??
Forums:
자답입니다.
Reader 생성할때 UTF-8 을 넣어줬더니 되는군요...
UTF-16으로 인식했던것 같습니다.
그런데 , 왜 그럴까요??
언제나 시작
댓글 달기