본문 바로가기

dev

MySQL 한글 저장 설정

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
RESTful API in 15 minutes  (0) 2013.01.15
ssh-agent 실행하기  (0) 2013.01.08