한국어

tc_backup

안녕하세요. 신규로 4.1.7버전의 MySQL 를 설치했는데 character set 의 변경이 잘 되지 않아서 질문 올립니다.
아래에 버전 및 시도해본 방법을 적었습니다. 함 확인해보시고요 해결책 알려주시면 감사하겠습니다~


0. 버전
버전 : 4.1.7, source compile 해서 설치 (my.cnf 에서 수정하려고 configure 할때 character set 설정 하지 않았습니다.)


1. 현재 character 정보
mysql> show variables like 'char%';
+--------------------------+----------------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql/share/mysql/charsets/ |
+--------------------------+----------------------------------------+


2. 변경하려고 시도해본 방법
1) my.cnf 변경
[mysqld] 아래에
default-character-set=euckr
를 추가하고 mysql을 재시작하면 에러가 납니다.
/mysql/var/***.err 에서 에러를 확인하면 아래와 같습니다.

/usr/local/mysql/libexec/mysqld: Character set 'euckr' is not a compiled character set and is not specified in the '/usr/local/mysql/share/mysql/charsets/Index.xml' file


"Character set 'euckr' is not a compiled character set" 이라면 compile할때 euckr 이 빠졌다는 것인가요?

'/usr/local/mysql/share/mysql/charsets/Index.xml' file 에는 euckr 항목이 있습니다.

<charset name="euckr">
<family>Korean</family>
<description>EUC-KR Korean</description>
<alias>euc_kr</alias>
<alias>euc-kr</alias>
<collation name="euckr_korean_ci" id="19" order="Korean">
<flag>primary</flag>
<flag>compiled</flag>
</collation>
<collation name="euckr_bin" id="85">
<flag>binary</flag>
<flag>compiled</flag>
</collation>
</charset>


2) database의 character set을 직접 변경
mysql> ALTER DATABASE tv DEFAULT CHARACTER SET euckr;
ERROR 1115 (42000): Unknown character set: 'euckr'


3) 지원하는 character set 확인
설치한 mysql 서버에서 지원하는 character set을 확인해 보았습니다만 euckr 이 없네요.

mysql> SHOW CHARACTER SET;
+----------+-----------------------------+---------------------+--------+
| Charset | Description | Default collation | Maxlen |
+----------+-----------------------------+---------------------+--------+
| dec8 | DEC West European | dec8_swedish_ci | 1 |
| cp850 | DOS West European | cp850_general_ci | 1 |
| hp8 | HP West European | hp8_english_ci | 1 |
| koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 |
| latin1 | ISO 8859-1 West European | latin1_swedish_ci | 1 |
| latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |
| swe7 | 7bit Swedish | swe7_swedish_ci | 1 |
| ascii | US ASCII | ascii_general_ci | 1 |
| hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 |
| koi8u | KOI8-U Ukrainian | koi8u_general_ci | 1 |
| greek | ISO 8859-7 Greek | greek_general_ci | 1 |
| cp1250 | Windows Central European | cp1250_general_ci | 1 |
| latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 |
| armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 |
| utf8 | UTF-8 Unicode | utf8_general_ci | 3 |
| cp866 | DOS Russian | cp866_general_ci | 1 |
| keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 |
| macce | Mac Central European | macce_general_ci | 1 |
| macroman | Mac West European | macroman_general_ci | 1 |
| cp852 | DOS Central European | cp852_general_ci | 1 |
| latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 |
| cp1251 | Windows Cyrillic | cp1251_general_ci | 1 |
| cp1256 | Windows Arabic | cp1256_general_ci | 1 |
| cp1257 | Windows Baltic | cp1257_general_ci | 1 |
| binary | Binary pseudo charset | binary | 1 |
| geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 |
+----------+-----------------------------+---------------------+--------+


1)의 에러메시지에서 처럼 euckr character set 이 compile 되지 않았다는 것 같은데요,

그럼 어떻게 추가할수 있을까요.


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

안녕하세여

보니까 euckr 이 아니고 euc_kr 아닌가요 ?

euc_kr 로 한번 해보세여

윤명식(jazzlian)님이 2004-12-07 11:11:03에 작성한 댓글입니다.

정상적(?)으로 euckr을 지원하는 서버에서 확인해보면

mysql> show character set;
...

| euckr | EUC-KR Korean | euckr_korean_ci | 2 |

...

로 나옵니다.

버전에 따라 다른건가요? 제가 설치한것은 4.1.x 입니다.

오세영(osy530)님이 2004-12-07 11:48:48에 작성한 댓글입니다.

4.1에서는 euc_kr이 euckr로 변경되었습니다

오세윤님이 2004-12-07 13:43:22에 작성한 댓글입니다. Edit

별다른 해결책이 없는거 같아 새로 설치했습니다. ^^;;

configure 할때 characterset 옵션 주고 하니 잘 되네요.


참고로 한가지. 4.1 버전에서는 jdbc 설정도 변경해줘야 합니다.

이전버전에서 jdbc 설정했던 characterEncoding=EUC-KR로 하면 아래와 같은 에러가 납니다.

characterEncoding=euckr 로 하세요~


General error,  message from server: "Illegal mix of collations (euckr_korean_ci
,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='"



오세영(osy530)님이 2004-12-07 18:06:06에 작성한 댓글입니다.
이 댓글은 2004-12-07 18:06:26에 마지막으로 수정되었습니다.

http://blog.naver.com/hwangton?Redirect=Log&logNo=50001838485
조회 수 :
24696
등록일 :
2008.02.25
23:53:43 (*.234.246.12)
엮인글 :
https://www.rain9.com/xe/tc_backup/2059/fa0/trackback
게시글 주소 :
https://www.rain9.com/xe/tc_backup/2059
List of Articles
번호 제목 글쓴이 날짜 조회 수
60 Linux Mysql 4.1이상버전에서 4.0 으로 다운그레이드 엔신 2008-03-14 15681
59 Linux UTF-8 지원 제로보드4 엔신 2008-03-11 10296
58 Windows Outlook Express 오류 코드 엔신 2008-03-03 32364
57 Linux 화이트 도메인 등록 방법 [6] 엔신 2008-02-29 11331
56 Linux 리눅스 시간동기화 rdate [2] 엔신 2008-02-28 34775
55 Linux 아파치 서버과부하 해결책 - lingerd 설치법 엔신 2008-02-26 13217
54 Linux 외부 링크 차단 방법 엔신 2008-02-26 13190
53 Linux [PHP] 파일다운로드 링크경로 숨기기 엔신 2008-02-26 16823
» DBMS MySQL 를 설치했는데 character set 의 변경 엔신 2008-02-25 24696
51 Linux APM 에서 UTF-8 사용하기 엔신 2008-02-25 12860
50 Ambiguous Daum 유니코드(UTF-8)에 도전하다 엔신 2008-02-25 13499
49 Linux yum을 이용한 APM RPM 패키지 설치 순서 [2] 엔신 2008-02-25 21836
48 Linux CentOS yum 업데이트 서버 변경하기 엔신 2008-02-25 34696
47 Linux yum이란? 엔신 2008-02-24 12611
46 Linux php5 configure 시 에러 엔신 2008-02-24 12351
45 DBMS mysql 5에서 make 중 오류 엔신 2008-02-24 12736
44 Linux configure: error: No curses/termcap library found 엔신 2008-02-24 40050
43 DBMS MySQL 설치/사용시 나는 에러 유형별 대처방법 엔신 2008-02-24 66930
42 Linux 아차피에서 한글이 깨지는 경우(http) 엔신 2008-02-24 13644
41 Linux root의 ssh 접속 막기(차단)금지 엔신 2008-02-24 12603