[빠른답변요청] c#에서 Table 업데이트 시 한글깨짐 문제..

by minimin0516 posted Jan 20, 2016

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Window7 64
CUBRID Ver.
9.3.3.0014
CUBRID TOOL Ver.
9.3.1.703
응용 환경(API)
c#

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


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

c# 소스상에서 MSSQL에서 Select한 데이터를 복사하여

큐브리드 Table에 Update를 하는 과정에서 한글깨짐이 발생하고 있습니다.


CUBRIDDataAdapter를 이용해서 빈 DataTable을 Select 후 Update 함수를 사용하여 Table을 변경하고자 하는데

정상적으로 DB에 데이터가 Update 되지만, 한글이 깨집니다.



CUBRID Database 연결정보에서 문자집합을 UTF-8로 지정이 되어있고,

Table 콜레이션 또한 utf8_bin으로 설정이 되어있는데 설정이 잘못 된건지요?(콜레이션이 정확하게 뭔지는 모르겠지만)


혹시나 이와 관련되어 지원하고 있는 함수가 있는지 알수있을까요?


혹시 몰라 c# 소스와 Table 정보/한글이 깨지는 데이터를 첨부해서 올립니다.

빠른 답변 부탁드립니다.


---------------------------------------------------------------------------------------------------------------------------------------


추가로

데이터베이스 연결 시 문자집합(charset)을 UTF-8로 설정하였을 때,

CUBRID MANAGER에서 질의응답모드로 Insert 쿼리를 수행하면 데이터가 정상적으로 돌아가고

Selete로 데이터를 조회 할 시 이또한 정상적으로 조회가 됩니다.


그러나 .net에서 DB 연결 시 설정을 아래와 같이 하고,

 -> new CUBRIDConnection("server=localhost;database=demodb;port=30000;user=dba;password=1234");


insert 문을 실행 하였을 때 Cubrid MANAGER에서 Select를 할 시 한글 데이터가 아래 첨부한 이미지처럼 깨져서 조회가 됩니다.

  ex) insert into code values ('1', '일');;

그래서  ODBC, insert into code values ('1', _UTF8'일'), byte array를 utf-8로 변환하여 insert 작업을 했으나

이것 또한 CUBRID MANAGER에서는 데이터가 깨진채로 출력이 됩니다.

CUBRID MANAGER 연결을 UTF-8이 아닌 EUC-KR로 연결하였을 때, .NET에서 입력한 한글 데이터값과 CUBRID MANAGER에서

INSERT문을 사용하여 추가한 값이 정상적으로 출력이 되고 있는 것을 보아,

CUBRID가 NET에서 쿼리를 실행하였을 때 UTF-8이 아닌 EUC-KR로 인식을 하는 것 같습니다.


(처음에는 .net의 문제로 판단하였으나 이후 코드상에 Selete문을 날려 확인해 본 결과 정상적으로 데이터를 가져오지만, CUBRID MANAGER에서 INSERT문을 통해 추가된 데이터는 조회하지 못하는 것으로 보아 CUBRID ADO.NET Driver의 문제가 아닌가 싶습니다.)


.NET에서는 CUBRID 사용 시 DB를 EUC-KR로만 사용을 해야하는 건지, 다른 방법이 있는 건지 빠른답변을 부탁 드립니다.





Articles