DBMS/MySQL2006. 4. 11. 23:55

개인적으로 뭐좀 테스트 해 볼 것이 있어서

MySQL 최신버전인 4.1을 다운로드 받아서 설치 하였다.



그런데 테스트를 해보니 한글이 모두 ??? 로 깨져버리는 것이었다.

우리나라 개발 커뮤니티를 모두 뒤졌으나 거기에 제시된 해결책은 모두 제대로 반영되지 않았고

모 외국 사이트에서 뜻하지 않게 해결책을 발견하였다.

환경이 서로 틀려서 그런지도 모르지만 제대로 테스트 안해보고 올린 솔루션들은 가끔 다른 사람들을 짜증나게 하는 것같다.   물론 나 자신도 막연하게 그런 적이 간혹 있는 것같지만...



일단 4.1에서는 서브쿼리도 지원되고 많은 부분이 향상된 듯 하다.

MySQL이 아직 상용데이터베이스에 많은 부분이 못미친다고 생각하지만

여기 네이버를 비롯해서 현재 많은 곳에서 쓰이고 있고 또 실제 써본 경험으로도

편한 부분도 좀 있고 그런대로 쓸만한 것 같다.





음... 자꾸 얘기가 딴데로 새는데... 다시 돌아와서...



MySQL 윈도우용 설치시 캐릭터 셋 지정옵션이 있는데 이 때 캐릭터 셋을 euckr로 선택하고 로그인 하고 캐릭터 지정옵션을 조회하면 다음과 같다.

(4.1부터 캐릭터셋이 euc-kr에서 euckr로 변경되었다)



mysql> show variables like 'c%';

+--------------------------+---------------------------------+

| Variable_name            | Value                           |

+--------------------------+---------------------------------+

| character_set_client     | latin1                          |

| character_set_connection | latin1                          |

| character_set_database   | euckr                           |

| character_set_results    | latin1                          |

| character_set_server     | euckr                           |

| character_set_system     | utf8                            |

| character_sets_dir       | C:\DEV\MySQL4.1\share\charsets/ |

| collation_connection     | latin1_swedish_ci               |

| collation_database       | euckr_korean_ci                 |

| collation_server         | euckr_korean_ci                 |

| concurrent_insert        | ON                              |

| connect_timeout          | 5                               |

+--------------------------+---------------------------------+

12 rows in set (0.00 sec)







설정이 제대로 안 된 것인데 해결책은 의외로 정말 간단했다.



MySQL 이놈이 MySQL 설치 디렉토리에 위치해 있는 설정파일인 my.ini 를 제대로 인식하지 못하기 때문에 발생한 오류였다.

너무나 허무하게도 my.ini를 C:\ 밑이나 C:\windows 밑으로 카피해 놓으면 모든 설정이 제대로 적용이 된다.





mysql 콘솔에서 밑의 명령어를 쳐서 다음과 같이 나오면 설정이 완료된 것이다.



mysql> show variables like 'c%';

+--------------------------+---------------------------------+

| 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       | C:\DEV\MySQL4.1\share\charsets/ |

| collation_connection     | euckr_korean_ci                 |

| collation_database       | euckr_korean_ci                 |

| collation_server         | euckr_korean_ci                 |

| concurrent_insert        | ON                              |

| connect_timeout          | 5                               |

+--------------------------+---------------------------------+

12 rows in set (0.02 sec)









만약에 설치시 옵션 설정을 안했다면 my.ini의 [client] 와 [mysqld]  섹션에 각각

다음과 같이 캐릭터 셋을 지정해주면 된다.



default-character-set=euckr





이런식으로 가끔씩 한글이 문제가 되는 경우가 있지만,

난 우리 글 한글이 너무 좋다.

음... 좀 쌩뚱맞나??? ㅋㅋㅋㅋ







출처 : http://blog.naver.com/riosung/20017516106

'DBMS > MySQL' 카테고리의 다른 글

MySql 데이터 타입  (0) 2006.05.10
Posted by Blue*