반응형
업무 과정중에 디비에 데이터를 넣는 과정에서 한글 깨짐현상이 발생하였다.

문제는 2가지 정도가 발생하였는데 디비간의 데이터 이동시에 해당 컬럼의 사이즈가 서로 달랐던 것이다.

source db 는  varchar(100)  target db는 varchar(70)  그로인해 한글데이터가 잘리는 경우가 발생하여

깨짐 현상이 발생하였고 데이터를 처리하여 다른 테이블에 INSERT 과정에서 깨진 데이터는

INSERT 가 되지 않았다. 그래서 데이터를 byte단위로 잘라서 target 테이블에 insert 하여야 했다.

해서 입력된 String을 byte 단위로 잘라서 마지막에 깨진 글자가 있을시에 빼고 리턴하는 메소드를 작성.


그리고 2번째 문제가 발생하였는데 잘못된 한글 표기로 인코딩의 문제로 String 중간에 깨진 글자 발생
이 문제는 DB의 인코딩 방식과 JAVA에서 처리된 인코딩 방식의 차이로 발생 하였는데..

해당 소스가 실행되는 환경에서 어떤 인코딩에 따라 한글이 깨지는지 확인 해 보도록 하자.

+ Recent posts