FORUM

조회 수 1648 추천 수 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 도구 출시 안내 11 admin 2024.04.23 46048
4014 버전 업데이트 이후 Conversion error in date format 에러 1 file 마로비 2024.05.20 1567
4013 큐브리드 엔진 디렉토리와 데이터파일 디렉토리를 분리하는 방법 1 DB구루 2024.05.19 1624
4012 데이터 베이스 백업시 에러 1 file 로컬백업 2024.05.17 1575
4011 백업작업시 Unable to mount disk volume 그런파일이나 디렉터리가 없습니다 라는 에러 발생합니다 7 로컬백업 2024.05.17 1666
4010 sql_id가 empty일 때 Tran time이 존재하는 경우? 1 푸우짱 2024.05.14 1631
4009 cubrid php driver 2 나라디 2024.05.14 1619
4008 안녕하세요 하루아침에 갑자기 cubrid가 start되지 않습니다. 4 leeH 2024.05.13 1624
4007 CUBRID Python Driver Mac OS(M1) 설치 오류 및 지원 여부 문의 1 고감자 2024.05.13 9882
4006 CUBRID DB 자동 기동 로직 문의 1 passik89 2024.05.13 1792
4005 clob_to_char 변환 후, lob 파일 삭제 1 아아아아아아이 2024.05.09 1578
4004 reuse_oid의 유무에 대한 create table 문 실행 차이를 알고 싶습니다. 1 nemnem 2024.05.09 1651
4003 안녕하세요 데이터 이전 간 버전 질문드립니다. 1 543534512 2024.05.08 1548
4002 버전 업그레이드 후 쿼리오류 1 마로비 2024.05.07 1460
4001 cubird python 에서 DB 목록 가져오기 1 망고라떼 2024.05.07 1818
4000 Loaddb 유틸리티 사용시 log archive(lgar) 관련 문의 3 뚜벅뚜벅 2024.05.03 1524
3999 큐브리드 구동 안됨[2] 3 마로비 2024.04.30 1434
3998 큐브리드 구동 안됨 1 마로비 2024.04.30 1560
3997 [데이터 이관] 큐브리드 데이터 이관 문의 4 뚜벅뚜벅 2024.04.30 1633
3996 LIMIT사용 시 Outer join query optimization 문의 4 안녕 2024.04.30 1860
3995 clob데이터 경로 바꿀수 있스니까? 1 자바천재 2024.04.29 1627
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 ... 210 Next
/ 210

Contact Cubrid

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

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

나눔고딕 사이트로 가기

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5