Character set utf8 설정 (한글 깨짐)

http://hoya.tistory.com/53

위 포스트를 보면, my.ini (windows) 또는 my.cnf 에
아래와 같은 설정 구문을 넣으면 utf8 인코딩이 적용된다고 하였다.

default-character-set=utf8
default-collation=utf8_general_ci
init_connect=set collation_connection=utf8_general_ci
init_connect=set names utf8
character-set-server=utf8
collation-server=utf8_general_ci
character-set-client-handshake = TRUE

하지만, MySQL 5.5 + Mac OS X Lion 환경에서는
위와 같이 설정한 후, mysql 을 기동하면 환경 변수 값이 잘못되었다는 로그가 떨어진다.

120208 17:40:26 InnoDB: 1.1.8 started; log sequence number 3965797336
120208 17:40:26 [ERROR] /usr/local/mysql/bin/mysqld: unknown variable ‘character_set_database=utf8’
120208 17:40:26 [ERROR] Aborting

또는

120208 17:41:40 InnoDB: 1.1.8 started; log sequence number 3965797336
120208 17:41:40 [ERROR] /usr/local/mysql/bin/mysqld: unknown variable ‘collation_database=utf8’
120208 17:41:40 [ERROR] Aborting

보아하니, MySQL 의 버전이 올라가면서 환경 변수 중 일부가 변경된 것 같은데..
http://dev.mysql.com/doc/refman/5.5/en/charset-connection.html

5.5 버전에서는 아래와 같은 구문을 my.ini 또는 my.cnf 의 [mysqld] 카테고리에 집어넣음으로
utf8 인코딩을 사용할 수 있다.

character_set_server=utf8
collation_server=utf8_general_ci
init_connect=set collation_connection=utf8_general_ci
init_connect=set names utf8
character-set-server=utf8
character-set-client-handshake = TRUE

이렇게 한 후, mysql 기동 하고 show variables like ‘c%’ 명령을 날리면, 아래와 같이 나온다.
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/mysql-5.5.20-osx10.6-x86_64/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                                                     |
+————————–+——————————————————–+

utf8 인코딩을 적용하고 나니, 한글이 제대로 보인다.

“Character Set 과 Collation 의 차이” 는 여기서 볼 수 있다.
http://home.zany.kr:9003/board/bView.asp?bCode=18&aCode=2171

댓글 남기기

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Videos, Slideshows and Podcasts by Cincopa Wordpress Plugin