반응형
프로그래밍을 할때 뜻하지 않게 나타나 괴롭히는 문제가 인코딩 문제가 아닌가 싶다.

이번에는 유니코드 문제였다. 무슨 암호와 같은 \uC774\uC0AC\uC57C 였다.

한글출력 부분을 변경하려고 찾는데 도무지 검색으로 찾을 수가 없어서 그냥 소스를 분석했다.

이래저래보다보니 저런식으로 한글을 변환 해 놓은것 같다. ㅡㅡ;  첨엔 어떻게 변환하지 했다.

또 구글링을 열심히 한 결과 관련 자료를 찾았다.

일단 한글 유니코드 표를 다운 받을 수 있는 사이트 :  http://www.unicode.org/charts/

Hangul Syllables  이라고 검색해서 다운받으면 된다. 그리고 잘 찾아서 보면 된다. ^^;;;;

그리고 귀차니즘을 가진 분들이거나 영문 사이트 울렁증 있으신 분들을 위해  링크


이거 어떻게 일일히 찾아서 하냐.. 하고 생각하시는 분들을 위한 사이트 링크 있습니다!!

http://people.w3.org/rishida/scripts/uniview/conversion.php

원하는 곳에 문자열을 넣고 변환을 하면 거의 모든 인코딩 방식으로 변환해서 보여준다.

아직 인코딩에 대한 정리된 개념이 없는 거 같아 확실히 개념을 세울 필요가 있을 듯 하다.

그리고 개인적으로 쓸 인코딩 프로그램 하나 만들어 놔야겠다.. 킁.. 일일히 그때 그때 찾기 귀찮으니.
반응형
업무 과정중에 디비에 데이터를 넣는 과정에서 한글 깨짐현상이 발생하였다.

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

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

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

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

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


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

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

+ Recent posts