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
운영게시판
최근게시물
MySQL Columns 25164 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 25164
MySQL 4.1 한글 문제 해결 방법 중 하나(RPM 형태로 처리 가능하게끔)
작성자
이승로(etranger)
작성일
2006-03-03 01:31
조회수
62,039

제가 Writer 권한이 없어서 글을 올릴 수 있는 곳이 여기인지라, 여기에 올립니다. 게시물의 성격이 맞지 않는다면 운영진에서 다른 곳으로 이동시켜주시면 감사하겠습니다.

 

이 방법이 다른 분들께 도움이 될 지 모르겠습니다만, 저도 4.1 버전에서 euckr 때문에 애를 먹었습니다. 제가 개발보다도 시스템 엔지니어라서 서버 운용의 항상성에 중점을 두다 보니, 개별적으로 컴파일해서 설치하는 것 보다 RPM으로 자동 업데이트해서 관리하는 것을 선호합니다.

한글 처리 관련해서 여러 가지 옵션이 있지만, 윈도우 버전에서 적용되는 character-set-client-handshake = FALSE 옵션을 my.cnf에도 적용하기 위해서 MySQL의 SRPM을 다시 rebuild하는 방법을 시도했는데, 다행히 한글 부분이 잘 해결이 되었습니다. 윈도우 버전 뿐만 아니라 리눅스에서도 적용이 잘 되었습니다. 굳이 mysqld_safe 명령의 옵션에 추가할 필요가 없었습니다. 한글로도 정확하게 검색이 되고 해서 이 방법이 괜찮으시다면 한 번 시도해보시기 바랍니다. 매뉴얼을 보고 한 것은 아니고 다른 분들이 시도한 방법에 근거해서 시도해본 것인데 다행이 결과가 좋게 나왔을 뿐입니다.

 

저는 서버에서 알지보드로 게시판 구현하는 부분에서 한글이 계속 ??로 깨져서 나오는 것이 문제가 되어 방법을 찾다가 기존 방법을 약간 변형해서 적용해본 것입니다.

 

환경은 다음과 같습니다.

CentOS 4.2

Apache 2.0.52

PHP 4.3.9

MySQL 4.1.12 -> 4.1.18로 upgrade

모두 RPM으로 설치한 것이고, MySQL의 경우 mysql.com에서 MySQL-standard-4.1.18-0.rhel4.src.rpm을 다운로드해서 rebuild한 뒤에 이것을 가지고 기존 MySQL을 업그레이드했습니다.

 

1. SRPM rebuild

rpmbuild --rebuild MySQL-standard-4.1.18-0.rhel4.src.rpm

mysql.com에서 RHEL용의 설치파일을 제공하긴 합니다만, signature 등의 문제가 있을 것 같아 SRPM을 rebuild하는 것이 안전할 것 같다는 생각을 했습니다.

/usr/src/redhat/RPMS/i386/ 디렉토리에 설치가능한 rpm 6개가 생깁니다.

2. 설치

mysql을 종료한 뒤, rpm -Uvh로 해서 6개 모두 지정해서 설치했습니다.

그런데 기존 mysql의 소유권자와 그룹이 없어지고 단지 27번(UID, GID)만 남아 있어서 다시 설정해줬습니다.

3. my.cnf 편집

제가 서버에 설정한 것입니다.

[client]
default-character-set=euckr

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
default-character-set=euckr
init_connect=set collation_connection=euckr-korean_ci
init_connect=set names euckr
character-set-server=euckr
collation-server=euckr_korean_ci
character-set-client-handshake = FALSE

[mysql.server]
user=mysql
basedir=/var/lib

[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysqldump]
default-character-set=euckr

[mysql]
default-character-set=euckr

 

물론 httpd.conf와 php.ini에서도 default characterset을 EUC-KR로 설정을 맞췄습니다.

 

저도 마찬가지입니다만, 다국어 지원부분 때문이라도 빨리 EUC-KR의 사용을 지양하고 유니코드로 옮겨가야 하지 않을까 생각합니다.

[Top]
No.
제목
작성자
작성일
조회
25263MySQL Stored Procedure(2)
양용성
2006-03-29
60721
25262MySQL Stored Procedure(1)
양용성
2006-03-29
64734
25234Mysql 4.1이상버전에서 4.0 으로 다운그래이드시 데이터 이동법 [3]
김성준
2006-03-21
59052
25164MySQL 4.1 한글 문제 해결 방법 중 하나(RPM 형태로 처리 가능하게끔)
이승로
2006-03-03
62039
25105[참고]MySQL-5.0 에서 한글입력 문제해결
조정권
2006-02-16
18784
25048(정보)FreeBSD 에서 Mysql 4.x 설치시 기본문자셋 지정입니다.
박태섭
2005-12-19
15991
24971utf8 환경으로 자료 conversion 성공기 [2]
박인서
2006-01-11
24425
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.047초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다