database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
ㆍInformix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Informix Q&A 2504 게시물 읽기
No. 2504
Locale에 대하여 한방에 알려주시면 감사하겠습니다.
작성자
거북이
작성일
2008-04-24 17:25
조회수
8,440

게시판 검색해서 이것저것 해보면 한글이 나오는 정도까진 해봤습니다.
그런데 정리가 안되다보니 응용이 안된다는...머리가 나뿐가봅니다.
이걸 한방에 정리해주실분 모시겠습니다.

1. select * from systables where tabid in ('90','91');
=> 질문1) 여기서 나오는 charactor set 은 어디에 사용되는지 어떻게 영향을 미치는지요. 잘모르겠습니다.


2. sysmaster 의 sysdbslocale 테이블의 charactor set
=> 질문2) 이건 각 database 생성 charactor set을 출력하는것으로 보입니다.
              DB생성시 보니 위의 1번 로케일하고는 별로 상관없이 환경변수의 값으로 생성되는것 같습니다.
              맞는지 확인부탁드립니다.

3. 환경변수의 charactor set
=> 질문3) DB생성시 영향을 주는 charactor set 으로 DB구동시에도 영향을 미치는것 같습니다.

4. 현재 제 세팅을 보면
   1. en_US.819
   2. system DB는 en_US.819
      기타 제가 생성한 DB는 en_US.57372 (유니코드DB)
   3. 환경변수는 
      SERVER_LOCALE=en_US.UTF8
      CLIENT_LOCALE=en_US.UTF8
      DB_LOCALE=en_US.UTF8 로 세팅되어있습니다.

=> 질문4) 환경변수가 en_US.UTF8로 설정되어있는데 왜 시스템테이블은 en_US.819로 생성이 되는건가요?
현재 외부에서 JSQL로 접속시 SERVER_LOCALE=en_US.UTF8설정하여 접속하면 한글이 보이는데
로컬 dbaccess에서 접속하여 보면 한글이 깨져서보입니다. 왜그런지요..


이 글에 대한 댓글이 총 1건 있습니다.

1. select * from systables where tabid in ('90','91');
=> 질문1) 여기서 나오는 charactor set 은 어디에 사용되는지 어떻게 영향을 미치는지요. 잘모르겠습니다.

- 특정 DB에서 사용하는 코드셋에 대한 정보입니다.
여기서 조회하는 정보는 각 데이터베이스별로 해야 합니다.




2. sysmaster 의 sysdbslocale 테이블의 charactor set
=> 질문2) 이건 각 database 생성 charactor set을 출력하는것으로 보입니다.
              DB생성시 보니 위의 1번 로케일하고는 별로 상관없이 환경변수의 값으로 생성되는것 같습니다.
              맞는지 확인부탁드립니다.

- 위에서 답변 드린 내용인데, 1번 쿼리로 나오는 값은 DB생성 이후에 확인이 가능한 값입니다.
질문자께서는 다른 DB의 값을 보신 듯 하네요.

즉, 생성시의 환경변수 CLIENT_LOCALE, DB_LOCALE 에 의해 결정됩니다.

그리고, 이 값은 sysmaster:sysdbslocale 과 
해당 데이터베이스의 systables 에서 조회할 수 있으며 서로 '같습니다'.



3. 환경변수의 charactor set
=> 질문3) DB생성시 영향을 주는 charactor set 으로 DB구동시에도 영향을 미치는것 같습니다.

- 생성시 영향을 주는 변수들이 맞습니다. 구동하고는 별 관계가 없습니다. ㅡ.ㅡ



4. 현재 제 세팅을 보면
   1. en_US.819
   2. system DB는 en_US.819
      기타 제가 생성한 DB는 en_US.57372 (유니코드DB)
   3. 환경변수는 
      SERVER_LOCALE=en_US.UTF8
      CLIENT_LOCALE=en_US.UTF8
      DB_LOCALE=en_US.UTF8 로 세팅되어있습니다.

=> 질문4) 환경변수가 en_US.UTF8로 설정되어있는데 왜 시스템테이블은 en_US.819로 생성이 되는건가요?
현재 외부에서 JSQL로 접속시 SERVER_LOCALE=en_US.UTF8설정하여 접속하면 한글이 보이는데
로컬 dbaccess에서 접속하여 보면 한글이 깨져서보입니다. 왜그런지요..

- en_US.57372 로 생성된 데이터베이스에서 1번 쿼리를 수행하면 (다음과 같이)

database DBNAME;
select * from systables where tabid in ('90','91');

en_US.57372 가 나올 것입니다. en_US.819 가 나온 것은 다른 DB에서 했기 때문이겠죠.

그리고, dbaccess 에서 한글이 출력되지 않는 것은 어쩔 수 없습니다.

그 툴 자체에서 UTF8 을 지원하지 않기 때문이지요.

JSQL 로 접속해서 보는 것은 UTF8 을 지원하는 툴을 사용해서 보기 때문입니다.

님이 2008-06-05 16:52에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
2507인포믹스가 윈도우용도 있나요? [2]
이준식
2008-05-30
7368
2506프로시저 실행시 오류 질문드립니다. [1]
홍순범
2008-05-27
6585
2505질의문에서 조건에 해당하는 값을 불러오고 싶습니다...(내용) [1]
홍순범
2008-05-26
6224
2504Locale에 대하여 한방에 알려주시면 감사하겠습니다. [1]
거북이
2008-04-24
8440
2503[TIP] Free informix online Certification Assesment Testing 정보
김선규
2008-04-16
6737
2502쿼리 도와주세요 [1]
하늘
2008-04-04
6728
2501[TIP] SMI Query Series - Sequential Scans on Tables
김선규
2008-04-04
7109
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.047초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다