티스토리 뷰

반응형
리눅스 서버와 TCP 통신시 서버쪽에서 로그를 한글로 저장시 깨지는 증상이 발생하여 방법을 찾게 되었다.
아래 설정이후 로그에서 한글이 깨지지 않는다.
 
private BufferedReader      m_bis;
private BufferedOutputStream    m_bos;
 
// 전송
m_bos = new BufferedOutputStream(m_socket.getOutputStream());
 
public boolean SendMsg(String SendBuff) {
try {
m_bos.write(SendBuff.getBytes("EUC_KR")); // 한글 인코딩
m_bos.flush();
        }
        catch(IOException e) {
         return false;
        }
        
        return true;
    }
 
 
// 수신
m_bis = new BufferedReader(new InputStreamReader(m_socket.getInputStream(),"EUC_KR")); // 한글 인코딩
 
 
 
 
public String RcvMsg() throws IOException {
        char[]  buf   = new char[BUFF_SIZE];
        String RcvBuff;  
        
        m_bis.read(buf); 
        RcvBuff = new String(buf);
        
        return RcvBuff;
    }
 
 
 
// 서버데몬 - postgres DB 연동시
// 클라이언트에서 받은 한글이 깨지기 때문에 인코딩해야만 한다.
  if(PQsetClientEncoding(g_PgConn, "EUC-KR") == -1) {
  LogWrite("CloseProcess PQsetClientEncoding() Fail ...");
  close(clntSock);
return;
}
 
반응형

'Android > Java' 카테고리의 다른 글

파일 삭제  (0) 2019.03.20
파일 쓰기  (0) 2019.03.20
TCP Client (1)  (0) 2019.03.20
char[] to String 변환  (0) 2019.03.20
자바 기본 인코딩 확인하는 함수  (0) 2019.03.20
댓글
반응형
최근에 올라온 글
Total
Today
Yesterday