Background Image

FORUM

2013.09.27 20:54

substr 질의결과

조회 수 10157 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

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

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Window7 32bit, Linux 64bit 등
CUBRID Ver.
[cubrid_rel] 수행 결과
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java, php, odbc 등 입력

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


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

substr시 질의결과에 마름모물음표가 나오는데..

이건 substr 시 뒤에 결과가 더 있는걸 의미하는거 같은데..

 

표식이 안되게 하는 설정 같은게 있을까요??

  • ?
    손승일 2013.09.28 00:57

    질문에 CUBRID 버전이 명시되어 있지 않는데  CUBRID 9.x 전 버전에서는 문자셋 설정 기능이 없어 한글 저장 시 byte 데이터가 그대로 저장됩니다.

    이로인해 substr, length와 같이 데이터 길이와 관련된 함수에서 처리 단위는 byte입니다.

    utt8 형식의 한글이라면 한글 한자는 3btye, euc_kr의 경우 2btye를 차지합니다.

    따라서 substr('경상남도', 1, 10)는 '경상남도'의 처음 부터 10byte만큼 리턴하라는 것이고, utf8로 저장된 경우 질문하신 내용과 같이 9byte '경상남'까지 정상적으로 가져오고, 나머지 1byte를 가져오면서 1byte로는 한글이 완성되지 않아 깨져 나타나게 되는 것 입니다.

    참고로 CUBRID9.x 버전을 사용하는 경우에도 CUBRID_CHARSET을 'ko_KR.utf8로 지정해서 DB를 생서하지 않으면 기본적으로 en_US로 설정되어 한글이 byte 처리되어 동일한 현상이 나타나게 됩니다.


  • ?
    brightest 2013.10.23 21:21

    참고로 9.2 버전부터는 로캘을 지정하는 CUBRID_CHARSET 환경 변수를 더 이상 사용하지 않으며, "cubrid createdb testdb ko_KR.utf8"과 같이 DB 명 뒤에 로캘을 지정해야만 DB를 생성할 수 있습니다.


    따라서 한글 utf8을 사용한다면 ko_KR.utf8을 DB 생성 시 지정하셔야 합니다.

    그리고 SUBSTR 등 문자열 관련 함수 사용 시 지정하는 길이는 9.x 버전부터 로캘에 따라 바이트 수가 아닌 글자 개수로 지정하게 됩니다.


  1. CUBRID 사용자를 위한 DBeaver 도구 출시 안내

    Date2024.04.23 Byadmin Views64
    read more
  2. SQLGate for CUBRID 영구 무료 라이선스 제공

    Date2020.04.09 Byadmin Views4464
    read more
  3. cubridprovider.dll 배포 질문 드립니다

    Date2011.03.10 By유니콘 Views10090
    Read More
  4. 프로시저 사용시

    Date2009.08.03 By경아 Views10095
    Read More
  5. BLOB에 대한 자바 타입변환 문제..

    Date2013.01.28 Byㅇㅇ Views10099
    Read More
  6. DATABASE 간 상호 table 참조가능한가요

    Date2013.08.28 By관리자 Views10101
    Read More
  7. java function을 이용한 Query 수행속도 문의

    Date2013.03.26 By김상윤 Views10105
    Read More
  8. CM 건의 드립니다....

    Date2010.12.04 By유니콘 Views10106
    Read More
  9. LEFT JOIN 출력 결과 관련 문의

    Date2016.06.28 By차오이 Views10108
    Read More
  10. cubrid에 적용가능한 sms 모듈이 어떤게 있을까요?

    Date2011.08.05 Bydpals80 Views10113
    Read More
  11. 데이터베이스 기능 비활성화

    Date2016.08.02 By오명일 Views10116
    Read More
  12. standalone mode 오류

    Date2013.07.17 By엠브리오 Views10122
    Read More
  13. 데이타 검색해 올 때 영어 이외에 검색해오지 못하는 이유

    Date2009.11.21 By지니보이 Views10124
    Read More
  14. 큐브리드 매니저 실행 시 무반응

    Date2015.04.15 By코버스 Views10125
    Read More
  15. 큐브리드매니져로 테이블에 MULTISET 추가시

    Date2009.12.02 By하나엘 Views10126
    Read More
  16. 큐브리드2008R2.0 설치 후 매니저에서 로그인시 발생하는 오류

    Date2009.09.23 By고영진 Views10127
    Read More
  17. jdbc 연결시 지속적으로 뜨는 exception.

    Date2009.09.15 By김동진81 Views10129
    Read More
  18. 큐브리드 데이타베이스 정지후 다시 데이타베이스 시작이 안됩니다.

    Date2010.03.03 By초보 Views10130
    Read More
  19. VC 2005 에 가장 적합한 api 가 어떤것인가요?

    Date2011.04.02 By엥꼬 Views10135
    Read More
  20. csql -u -p -i DB명 캐릭터 셋 설정

    Date2013.12.05 By쩡저리 Views10136
    Read More
  21. DB수가 많을때 다중 브로커 문의드립니다

    Date2013.05.08 By유니콘 Views10136
    Read More
  22. 윈7 64비트 사용 불가

    Date2009.10.28 By갈축 Views10145
    Read More
Board Pagination Prev 1 ... 138 139 140 141 142 143 144 145 146 147 ... 200 Next
/ 200

Contact Cubrid

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