Skip to content

조회 수 12799 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
 

현재 제 서버에는 euckr로 운영중인 사이트만 있어 mysql 설정에서 디폴트 캐릭터셋을 euckr로 해둔 상태입니다. 기존 운영중인 사이트를 굳이 utf8로 변경할 필요가 없기 때문에.... 근데 이번에 신규로 개발하는 사이트부터는 utf8로 개발할 예정이라 부득이 하게 euckr과 utf8 을 동시에 사용하게 되었습니다. 여기서부터 삽질이 시작되었는데....
핵심적인 부분이 기존 운영중인 사이트에는 아무런 영향을 주지 않고 신규 사이트를 utf8로 운영할 수 있도록 할려고 합니다.
일단 적용에 성공했고 아래 자료는 참고자료를 바탕으로 100% 테스트해 본 결과입니다.

일단 디폴트 캐릭터셋을 utf8로 변경합니다.
my.cnf 변경

[client]
default-character-set=utf8

[mysqld]
default-character-set=utf8

[mysql]
default-character-set=utf8

이렇게 변경합니다. (euckr -> utf8로)
mysql 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/mysql/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          | 5                                      |
+--------------------------+----------------------------------------+
14 rows in set (0.00 sec)

위와 같이 변경되었으면 정상적으로 변경된겁니다.

위와 같이 디폴트 캐릭터셋을 변경하더라도 기존 euckr사이트에는 아무런 영향이 없습니다.
(프로그램 변경이나 DB수정 작업은 필요치 않습니다)

여기에 utf8 사이트를 추가해 봅니다.
디폴터 캐릭터셋을 utf8로 했기 때문에 DB를 생성하시면 utf8로 생성이 됩니다.

그런후 일단 테스트로 그누보드 utf8 버전을 설치해 봅니다.
그냥 설치하시면 DB 한글이 깨집니다. 따라서 설치전 파일 2개를 수정하셔야 됩니다.

[ 그누보드 ]
DB를 euckr 과 uft8 을 같이 사용하는 경우 utf8 프로그램에 아래 부분을 추가해주어야 됨
common.php
$connect_db = sql_connect($mysql_host, $mysql_user, $mysql_password);
$select_db = sql_select_db($mysql_db, $connect_db);
mysql_query("set names utf8"); //utf8 설정 추가

install_db.php
$select_db = @mysql_select_db($mysql_db, $dblink);
mysql_query("set names utf8"); // utf8 설정 추가

이렇게 수정후 설치하시면 100% 모든 데이타가 utf8로 처리되고 phpmyamin 등에서도 euckr 과 utf8 모두 정상적으로 한글이 보입니다.

참고로 위에 부분이 그누보드 utf8 버전에는 기본적으로 포함되었으면 좋겠습니다^^ (영자님 참고해 주세요)

위에 방법말고 utf8 전용 서버에서는 프로그램 수정없이 my.cnf 를 아래와 같이 설정하시면 됩니다.
[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci

이렇게 설정하시면 프로그램에 mysql_query("set names utf8"); 를 추가하지 않아도 기본적으로 utf8로 모든 데이타가 처리됩니다.
단 euckr과 utf8 같이 사용하는 서버에서는 위와 같이 설정하시면 euckr 사이트가 정상적으로 동작되지 않습니다. 참고하시길...

한글문제로 고민하는 분들께 조금이나마 도움이 되었으면 좋겠습니다.


  1. No Image 19Jun
    by ADMINPLAY
    2010/06/19 by ADMINPLAY
    Views 18451 

    mysql old_password 문제

  2. No Image 29May
    by l2zeo
    2010/05/29 by l2zeo
    Views 17267 

    MySQL 오류 테이블 복원

  3. No Image 29May
    by l2zeo
    2010/05/29 by l2zeo
    Views 16591 

    MySQL errno 의미 확인

  4. No Image 29May
    by l2zeo
    2010/05/29 by l2zeo
    Views 16489 

    [MySQL] OPTIMIZE, TRUNCATE, 테이블복구, DB공간제한

  5. No Image 28May
    by ADMINPLAY
    2010/05/28 by ADMINPLAY
    Views 16542 

    latin1 로 저장된 db 를 euckr 또는 utf8로 변환하는 방법

  6. No Image 03May
    by ADMINPLAY
    2010/05/03 by ADMINPLAY
    Views 12799 

    서버에서 mysql euckr과 utf8 같이 사용하기

  7. No Image 03May
    by ADMINPLAY
    2010/05/03 by ADMINPLAY
    Views 12903 

    mySQL 설치

  8. No Image 02Apr
    by ADMINPLAY
    2010/04/02 by ADMINPLAY
    Views 18084 

    lower_case_table_names=1

  9. MySQL 명령어 정리

  10. No Image 08Mar
    by l2zeo
    2010/03/08 by l2zeo
    Views 18284 

    Another app is currently holding the yum lock; waiting for it to exit 해결법

  11. PHP5와 MySQL5 연동시 한글 인코딩 문제 해결방법 (UTF-8으로의 변환)

  12. No Image 08Mar
    by l2zeo
    2010/03/08 by l2zeo
    Views 12599 

    MySQL Error 2006 : MySQL server has gone away 해결하기

  13. Redmine database를 복구 하고자 할 때

  14. No Image 28Jan
    by ADMINPLAY
    2010/01/28 by ADMINPLAY
    Views 19866 

    Starting MySQL.Manager of pid-file quit without updating fi[실패]

  15. No Image 31Dec
    by ADMINPLAY
    2009/12/31 by ADMINPLAY
    Views 8661 

    MySQL 데이터 정리후에도 용량변동이 없을 경우

  16. No Image 26Nov
    by ADMINPLAY
    2009/11/26 by ADMINPLAY
    Views 9558 

    Mysql bin log 로테이션 방법

  17. No Image 19Nov
    by ADMINPLAY
    2009/11/19 by ADMINPLAY
    Views 10754 

    리눅스를 이용한 클러스터링 구축법

  18. No Image 19Nov
    by ADMINPLAY
    2009/11/19 by ADMINPLAY
    Views 7792 

    MySQL Replication(복제)

  19. No Image 19Nov
    by ADMINPLAY
    2009/11/19 by ADMINPLAY
    Views 8090 

    MySQL Replication

  20. No Image 19Nov
    by ADMINPLAY
    2009/11/19 by ADMINPLAY
    Views 9732 

    Mysql Replication(Master, Slave) 설정

Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234