#mysql mysql -e 'show variables like "%character%";show variables like "%collation%";'
Variable_name Value
character_set_client euckr
character_set_connection euckr
character_set_database euckr
character_set_results euckr
character_set_server euckr
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
Variable_name Value
collation_connection euckr_korean_ci
collation_database euckr_korean_ci
collation_server euckr_korean_ci
(정상)
mysql >show variables like "%character%";show variables like "%collation%";
확인
(비정상)
set session character_set_connection=euckr;
set session character_set_results=euckr;
set session character_set_client=euckr;
php 안에서
// mysql_query("set session character_set_connection=euckr;");
// mysql_query("set session character_set_results=euckr;");
// mysql_query("set session character_set_client=euckr;");
-----------------------------------------------------------------------
mysql 4.1의 경우에는 접속 시 'client characterset'이 기본적으로 'latin1'이 되어 버린다.
이 경우 'server characterset', 'database characterset'이 모두 'euckr'로 설정이 되어 있다하더라도 한글 깨짐 현상이 나타나게 된다.
이러한 문제를 해결하기 위해서 'client characterset'을 변경해야 하는데, 방법은 mysql 접속 후
'set names euckr'
을 실행하게 되면, 'client characterset'이 'euckr'로 변경이 되면서, 한글깨짐 문제가 해결된다.
물론 그 전에 'server characterset', 'database characterset'은 모두 'euckr'로 되어 있어야 한다.
[현재 characterset 설정 확인]
mysql> show variables like 'char%';
[client characterset 변경]
mysql> set names [변경하고자 하는 characterset 명칭];
[database characterset 변경]
mysql> alter database [DB명칭] character set [변경하고자 하는 characterset 명칭];
'MYSQL' 카테고리의 다른 글
MySQL 접속에러 (0) | 2018.12.08 |
---|---|
간단한 mysql 접근 방법 (0) | 2018.12.08 |