Programming/Java

자바 채팅프로그램 작성 시 한글이 깨질때

choimosi 2010. 1. 14. 15:26

    private void connect(String server, String userName) {
        try {
            // 소켓과 스레드를 만든다.
            this.userName = userName;
            socket = new Socket(server, port);
            streamOut = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(), "utf-8"), true);
            streamIn = new BufferedReader(new InputStreamReader(socket
                    .getInputStream(),"utf-8"));


            new Thread() {
                public void run() {
                    try {
                        receiveMessage();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }.start();

 

            sendMessage("#새로운 사용자 [" + this.userName + "] 이(가) 들어왔습니다.");

        } catch (Exception ex) {
            System.out.println(ex);
        }
    }

이런식으로 입출력되는 스트립에서 utf-8을 추가해서 한글 폰트를 서로에게 알려주어야 깨지지 않는다.
그리고 물론 클라이언트와 서버 모두에게 적용해주는게 좋다