2007. 6. 29. 15:55

MySQL 4.1이상에서 character-set을 euckr로 모두 맞추기

이 자료는 database.sarang.net에서 이영진님께서 올린 자료입니다.

소스설치하지 않은 MySQL 4.1버전에서는(5.0포함)
아무리 default-character-set=euckr, 그리고 init connect = SET NAMES euckr 로 세팅해도 결국에
PHP에서 확인해보면 character set connection 부분과 character set results 부분이 Latin1로 설정되어 있는것을 확인할수 있습니다.
그렇게되면 결국에 모든 PHP스크립트에 set names euckr 쿼리를 날릴수밖에 없었는데요.
이제야 좀 해결이 된거 같습니다.
MySQL 데몬 시작할때 client-handshake를 무시하게 하면 되는것이었네요.
이렇게 데몬을 실행하시면 됩니다.
#mysqld_safe --default-character-set=euckr --skip-character-set-client-handshake &

데이터베이스를 시작하실때 --skip-character-set-client-handshake부분을 추가하셔서 실행하시던가, 아니면 /etc/init.d/mysql의 267라인쯤
$bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file >/def/null 2>&1 &
이 부분에 위의 옵션을 추가해주시면 됩니다.

테스트해본결과 텔넷으로도, MySQL-front에서도, PHPMyAdmin에서도 모든 환경이 euckr로 세팅된것을 확인할수 있었습니다.


윈도우용 Mysql 세팅은 이거네요.. 딴거 필요 없고 이거 한방이면 되네요..ㅋ
my.ini 에서

[mysqld]
character-set-client-handshake = FALSE