리눅스 - 윈도우즈 Client-Server 네트워크 프로그래밍시 한글깨짐(자바)

윈도우즈에 서버를 돌리고 리눅스에 클라이언트를 돌려서 간단한 채팅프로그램을 해볼려고 하는데요.
스트림을 통해서 송수신하게 되면 영어나 숫자는 안깨지고 잘 되는데 한글은 클라이언트딴과 서버딴에도 깨져서 나오네요.

어떻게 해결할 방법없을까요?

Client OS : Ubuntu 8.04
Server OS : Windows Server 2003

문자 인코딩 차이에 따른 문제인것 같네요.
한글윈도우는 euc-kr이고 우분투는 특별히 손을 보지 않으셨으면 utf-8입니다.
utf-8은 ascii와 호환되기 때문에 영문, 숫자, 특수문자 등은 제대로 표현됩니다만 이외의 언어들은 보시는것 처럼 되버립니다.

방법은 크게 두 가지 입니다.

  1. 윈도우는 환경을 변경할수 없으니 리눅스쪽을 utf-8에서 euc-kr로 변경. 주고받는쪽의 인코딩 환경을 통일 하는 겁니다.
  2. 송신 단계에서 미리지정한 표준 인코딩방식으로 변경하고 수신하는쪽에서 환경에 맞게 인코딩을 다시 변환.

다양한 플랫폼에서 동작하는 프로그램을 만들어 보는게 목적이시라면 두 번째 방식으로 해야겠지요.
바이트오더링과 비슷한 맥락입니다.
예를 들면 전송할때는 무조건 utf-8로 변환하구요. 수신하는 곳에서 자신의 인코딩 환경에 맞게 변환하는 겁니다.