MySQL 접속테스트
[@localhost~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 2 Server version: 5.1.73 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql >
이제는 MySQL의 인코딩 타입을 확인해보도록 합니다.
mysql >show variables like 'c%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
| completion_type | 0 |
| concurrent_insert | 1 |
| connect_timeout | 10 |
+--------------------------+----------------------------+
14 rows in set (0.00 sec)
mysql >
인코딩 확인 결과 대부분의 character_set이 latin1로 설정이 되어있습니다. 이럴경우 한글깨짐 현상이 발생할 확률이 크므로
latin1인코딩 타입을 utf8 타입으로 변경해주도록 하겠습니다.
리눅스 환경일 경우 my.cnf 파일을 수정해주시면 되겠고
윈도우 환경은 my.ini 파일을 수정해주시면 되겠습니다.
저는 리눅스 환경이므로 my.cnf 파일을 수정해보도록 하겠습니다.
[@localhost ~]#vi /etc/my.cnf
[client]
#추가
default-character-set = utf8
[mysqld]
#추가
init_connect="SET collation_connection = utf8_general_ci"
init_connect="SET NAMES utf8"
default-character-set = utf8
character-set-server = utf8
collation-server = utf8_general_ci
[mysqldump]
#추가
default-character-set = utf8
[mysql]
#추가
default-character-set = utf8
위 인코딩 설정을 모두 잡아주었다면 데몬을 재시작 후 다시 한번 인코딩타입을 재확인해보도록 하겠습니다.
MySQL 데몬 재시작
[@localhost ~]#service mysqld restart mysqld 를 정지 중: [ OK ] mysqld (을)를 시작 중: [ OK ] [@localhost ~]#mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 2 Server version: 5.1.73 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> show variables like 'c%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | | collation_connection | utf8_general_ci | | collation_database | utf8_general_ci | | collation_server | utf8_general_ci | | completion_type | 0 | | concurrent_insert | 1 | | connect_timeout | 10 | +--------------------------+----------------------------+ 14 rows in set (0.00 sec) mysql >
위처럼 설정 후 MySQL의 인코딩타입을 확인해 본 결과 모든 인코딩이 utf8 환경으로 변경 된 것을 확인 할 수 있었습니다.