'팁&테크/MySQL'에 해당되는 글 23건
- 2011.05.17 MySQL UTF-8 설정 시 my.cnf 추가 내용
- 2007.10.20 SELECT 값에 자동으로 순번 매기기
- 2007.06.29 MySQL 4.1이상에서 character-set을 euckr로 모두 맞추기
[mysqld]
해당 섹션에 내용을 추가할 것
SET @NUM := 0;
SELECT @NUM := @NUM + 1 AS SEQ, field FROM table
-> 결과
SEQ FIELD
1 field
2 field
3 field
PHP예제 :
<?php mysql_query("SET @NUM := 0"); $result = mysql_query("SELECT @NUM := @NUM + 1 AS SEQ, field FROM table"); while($row=mysql_fetch_row($result)) { print_r($row); } ?>
이 자료는 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