java 한글깨짐 문제

by 무냉채 posted Mar 22, 2017

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Linux AMI release 2016.
CUBRID Ver.
CUBRID 10.0 (10.0.0.1377) (64bit release build for linux_gnu)
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

JDBC로 직접연결한 java프로그램 사용할 땐 한글 깨짐 현상이 일어나지 않다가 CUBRID database를 ko_kr.utf8로 설정하여

디비 재구성한 이후 다시 연결하니 갑자기 한글깨짐 현상이 일어났습니다.


이전에 db환경도 cubrid 10.0버전을 사용하였으며(버전이동은 없음), JDBC 연결 시에 ?charset에 아무런 변수도 입력하지 않았습니다.

하지만, 이번에 디비 재구성하고 나서 사용하려니 한글깨짐 현상이 일어났으며,


charset을 아래와 같이 변경하여도 똑같이 한글깨짐 현상이 일어납니다.


public static final String DB_URL = "jdbc:cubrid:"+DB_IP+":"+DB_PORT+":demodb1:::?charset=UTF-8";



현재 상황의 이해를 돕기위해 부가적으로 설명드리자면,

디비 재구성 전에도 linux상에서는 select문을 쓰면 한글이 깨져서 보이긴 했는데 그래도 프로그램상에선 아무 문제가 없어 그대로 사용하였습니다. 그런데 현재는 linux상에서도 한글이 깨지고, 프로그램 상에서도 한글이 깨집니다.

그리고, charset=UTF-8을 적용하여 JDBC로 연결하면, 이전에 입력해 놓았던 모든한글 데이터들이 모두 깨집니다.

하지만, charset없이 연결하면 이전에 입력되었던 한글 데이터는 안깨지고 새로 추가하는 한글들이 깨져서 나옵니다.


문제가 뭘까요.. 답변부탁드립니다.



Articles