Background Image

FORUM

조회 수 57 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
Window7 64bit
CUBRID Ver.
CUBRID 11.3
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java 8


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


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

안녕하세요.

 

여러 고객사에 따라 각각 환경구성이 달라지는 프로그램을 개발중에 있습니다.

 

현재 SQLGate 로 데이터 삽입 및 조회 테스트를 하고 있는데, 문자 집합에 따라 데이터가 다르게 나옵니다.

 

예를들어 문자 집합을 'euc-kr'로 하여 접속후 데이터를 생성하면 문자 집합을 'utf-8'로 하였을때 조회되는 한글 데이터가 깨져서 나옵니다.

 

반대로 utf-8로 접속하여 생성한 데이터는 euc-kr로 접속시 문자열이 깨져서 나옵니다.

 

이에 각 고객사에 따라 접속 jdbc 문자열을 분리하려고 합니다.

 

고객사1) utf8 접속 

jdbc:cubrid:localhost:33000:testdb:::?charset=UTF-8

 

고객사2) iso8859-1

jdbc:cubrid:localhost:33000:testdb:::?charset=iso-8859-1

 

위와같이 jdbc url을 지정하였을때 charset값을 바꿔도 항상 utf-8로 적용되고 있습니다.

해당값을 utf-8이 아닌 다른 값으로 설정할수 있는 방법을 알고 싶습니다.

 

((cubrid.jdbc.driver.CUBRIDConnection)conn).setCharset("euc-kr");

위와 같은 방식도 해봤지만 여전히 utf8로만 적용되고 있습니다.

 

java환경에서 문자열 인코딩을 강제로 변경할수 있는 방법이 있을까요?

 

 

혹시 해당 내용이 불가능하다면 ResultSet에서 문자열에 대해 원본 byte를 얻을수 있는 방법이 있을까요? 

 

오라클의 경우 인코딩 오류시 해당 문자열의 원본 byte값을 읽어서 다시 재인코딩하는 방식으로 구현하였는데,

현재 cubrid 의 jdbc는 문자열 데이터에 대해 getBytes를 호출할경우 예외를 던져주고 있습니다.

 

// UGetTypeConvertedValue.java

    public static byte[] getBytes(Object data) throws UJciException {
        if (data == null) return null;

        if (data instanceof byte[]) return (byte[]) ((byte[]) data).clone();

        throw new UJciException(UErrorCode.ER_TYPE_CONVERSION);
    }

 

// 위의 함수에서 if (data instanceof byte[]) 문에 걸려서 오류 발생

 

 

 

감사합니다.

 

  • ?
    gwak 2024.03.15 16:42
    hex 함수를 이용해 데이터를 hex값을 가져온다음 다시 인코딩하는 방식으로 해결했습니다.

    select hex(user_nm) from test_user;

    String hex = rs.getString(columnIndex);
    byte[] b = DatatypeConverter.parseHexBinary(hex);
    String value = new String(b, "euc-kr");

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 51
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
3854 convert_password.exe가 실행이 안됩니다. 1 들뿔 2008.12.16 21541
3853 Cubrid + Hibernate 관련 해서 질문좀 드릴게요.ㅜㅠ 1 병관 2012.05.06 21528
3852 HA 구성 관련하여 기술문서가 따로 있나요? 1 책보는남자 2010.11.11 21527
3851 인코딩 관련 1 song 2008.12.17 21518
3850 "Token length is too long" 오류에 관하여 질문 드립니다. 4 file 김우람 2009.01.09 21478
3849 우분투에서 php + 큐브리드를 설치하고 있습니다. 2 희야 2009.01.25 21335
3848 이중화 관련 질문 하나 더 드립니다.^^ 2 kkckc 2009.02.18 21293
3847 0.5 이하 반올림 함수가 어떻게 되나요? 4 coolbyj 2009.10.22 21273
3846 order siblings by 문의 1 유쓰 2009.10.06 21108
3845 설치시 cub_cas.exe - 시작지점 없음 오류 2 file 백곰 2009.08.13 21100
3844 php에서 insert 값이 안들어가는 경우는 뭘까요? 4 레드오리 2008.12.20 21052
3843 C/C++ 지원하는 Connection Pool API 는 없나요? 2 tekkal 2009.02.03 21009
3842 The column name is invalid. 에러메시지 좀... 1 file 논픽션Lover 2009.07.02 20964
3841 Java Procedure 실행시 한글 깨짐 1 깨달음 2012.02.07 20934
3840 CUBRIDService 를 시작할수 없습니다. 5 file 오색무지개 2013.02.15 20914
3839 Failed to connect to database server, 에러관련 질문입니다. 4 석현진 2016.12.08 20834
3838 이젠 매니저가 ㅠㅠ 1 가루구 2009.02.17 20819
3837 OleDbCommand 를 사용하는데 다음 같은 에러가 발생합니다. 2번째.. 1 hades 2008.12.10 20814
3836 한글에 upper함수 적용하면 검색이 안되는 이유? 2 장비맨 2009.05.11 20802
3835 VIEW 생성 - SUM(DECODE(...))함수 사용에 대한 문의 1 kst 2013.10.30 20739
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales