Background Image

FORUM

조회 수 62 추천 수 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 128
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4476
3943 프로세스 정상동작 문의 드립니다. 2 file 윤희서 2009.01.23 33636
3942 우분투에서 php + 큐브리드를 설치하고 있습니다. 2 희야 2009.01.25 21335
3941 우분투서버에서 php모듈 설치때 1 NoisyWalker 2009.01.28 14214
3940 혹시 MMDB 지원하나요? 1 tekkal 2009.01.31 17481
3939 Clob Type. 1 tekkal 2009.01.31 18586
3938 PHP 에서 cubrid_connect 실패. 1 별의목소리 2009.02.03 14381
3937 solaris와 hp-unix 지원 관련 2 tekkal 2009.02.03 16023
3936 C/C++ 지원하는 Connection Pool API 는 없나요? 2 tekkal 2009.02.03 21010
3935 DWMAPI.dll 관련 오류 2 file GGG특별대원 2009.02.04 33285
3934 OLEDB insert관련 질문입니다. 1 garfield39 2009.02.05 16334
3933 cubrid manager에서 DB 권한 2 2~40자? 2~40byte? 2009.02.07 13883
3932 [replication] 성능에 대한 질문입니다. 2 kkckc 2009.02.10 16669
3931 [질문]큐브리드 설치관련입니다. 2 file 야매코더 2009.02.12 13516
3930 cubrid 2008 windows버전에서의 CUBRID_Service_Tray 실행오류 2 마비토 2009.02.12 14156
3929 프로그램 개발 후 배포 관련 3 늘푸른거북이 2009.02.12 25365
3928 OLEDB 연결 시 에러 발생 4 늘푸른거북이 2009.02.12 22252
3927 큐브리드 메니져로 쿼리 결과 조회시 3 ApiClasser 2009.02.13 13544
3926 VB ADO 사용 관련 문의를 드립니다. 1 늘푸른거북이 2009.02.13 17377
3925 [질문]재설치 실패... 2 file 야매코더 2009.02.13 12779
3924 큐브리드 메니져로 쿼리 결과 조회시#2 1 file ApiClasser 2009.02.14 12853
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 201 Next
/ 201

Contact Cubrid

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