ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 한글이 죽어도 안되는 openfire + mysql
    프로그래밍/네트워크 관련 2010. 12. 25. 12:34
    openfire db에는 분명히 jdbc:... utf8 로 해줬는데 이게 끝까지 안되는겁니다.
    생성된 테이블을 확인해보면 계속 라틴1 입니다.

    다시 터미널로 돌아가서
    show variables like를 찍어보니

    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       | 
    | character_set_connection | utf8                       | 
    | character_set_database   | latin1                     | 
    | character_set_filesystem | binary                     | 
    | character_set_results    | utf8                       | 
    | character_set_server     | latin1                     | 
    | character_set_system     | utf8                       | 
    | character_sets_dir       | /usr/share/mysql/charsets/ | 
    | collation_connection     | utf8_general_ci            | 
    | collation_database       | latin1_swedish_ci          | 
    | collation_server         | latin1_swedish_ci          | 
    | completion_type          | 0                          | 
    | concurrent_insert        | 1                          | 
    | connect_timeout          | 10                         | 
    +--------------------------+----------------------------+

    이게 문제인것 같습니다. 
    대충 찾아봤더니, /etc/my.cnf 파일에
    뭔가 추가하면 된다고 하길래 추가해놓은계 윗상태입니다.

    처음에 했을땐 utf8이 없고, 전부 latin1_swedish였습니다.

    근데... 뭔가 이상하다?

    왜 전부 utf8이 아닌거지. 그냥 해볼까 해서 해봤지만
    역시나 한글은 안되고....

    좀더 찾아봤더니 어떤 대단한 내공을 가지신 성인께서 글을 올려두셨습니다.

    "utf-8로 변경하는걸로 이래저래 말이 많은데, 그냥 두줄이면 끝납니다"

    응?
    해보니, 바로 변경되더이다.
    my.cnf따위도 건들필요도 없이 되더이다...ㅠㅠ

    그 한줄은 

    mysql> set names utf8;

    이것이오,
    다음줄은 

    mysql> set session character_set_server=utf8;

    이것이었습니다.


    다시 찍어봤습니다.

    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       | 
    | character_set_connection | utf8                       | 
    | character_set_database   | latin1                     | 
    | 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       | latin1_swedish_ci          | 
    | collation_server         | utf8_general_ci            | 
    | completion_type          | 0                          | 
    | concurrent_insert        | 1                          | 
    | connect_timeout          | 10                         | 
    +--------------------------+----------------------------+


    응? 뭔가 바뀌긴 했는데 아직도 몇놈이 그대로있네요.

    비슷한거 같은데 그냥 바꾸면 될려나? 해서 한줄 추가

    mysql> set session character_set_database=utf8;



    +--------------------------+----------------------------+
    | 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                         | 
    +--------------------------+----------------------------+


    됐습니다. openfire 한글은 제대로 출력됩니다.

    깊은 내공의 소유자 분께 감사의 말씀을 드립니다.



    '프로그래밍 > 네트워크 관련' 카테고리의 다른 글

    XMPP 관련자료가 참... 없네요  (0) 2010.12.27
    XMPP 지원하는 공개서버  (0) 2010.12.25
    openfire 설치 - 2  (0) 2010.12.25
    openfire 설치하기  (0) 2010.12.24
    SQL 쿼리 NULL에 한번 좌절.  (0) 2010.12.13

    댓글

Designed by Tistory.