MySQL 한글 저장 설정

dev 2013.01.24 20:41

Django로 서버개발을 처음하는데 온갖 각종 삽질들을 하루하루 해 나아가고 있다. 오늘은 당해도 당해도 매번 놓치는 mysql에서 한글 저장하기. 

오늘의 에러는 아래와 같다.

Warning: Incorrect string value: '\xED\x95\xB4\xEB\xA5\x9C' for column 'firstname' at row 1

현재 character set 확인방법: show variables like 'c%'; 
MySQL을 처음 설치하면 기본 character set 이 latin1로 되어있기 때문에 utf8로 바꿔야 한글 저장이 가능함.

/etc/my.cnf를 아래와 같이 편집한다.

[client] 부분에 추가
default-character-set = utf8

[mysqld] 부분에 추가
init_connect = SET collation_connection = utf_general_ci
init_connect = SET NAMES utf8
character-set-server = utf8
collation-server = utf8_general_ci

[mysqldump] 부분에 추가
default-character-set = utf8

저장 후 mysql 재시작
service mysqld restart 혹은 /etc/init.d/mysqld restart

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/local/server/mysql/share/charsets/ |
| collation_connection     | utf8_general_ci                        |
| collation_database       | utf8_general_ci                        |
| collation_server         | utf8_general_ci                        |
| completion_type          | NO_CHAIN                               |
| concurrent_insert        | AUTO                                   |
| connect_timeout          | 10                                     |
+--------------------------+----------------------------------------+


출처: http://www.imcore.net/mysql-5-5-%ED%95%9C%EA%B8%80-%EA%B9%A8%EC%A7%90%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0-utf8/

'dev' 카테고리의 다른 글

JNI 각 type별 Signature 알아내기  (0) 2013.09.07
git cheet sheet  (0) 2013.03.01
AWS에서 Elastic IP를 활용해서 Internal instance 접속하기  (0) 2013.02.21
MySQL 한글 저장 설정  (0) 2013.01.24
RESTful API in 15 minutes  (0) 2013.01.15
ssh-agent 실행하기  (0) 2013.01.08
Posted by Haeryun