[제나플러스] MySQL DB 생성시 UTF8로 기본으로 해주지 않는곳에서의 설정
페이지 정보
본문
MySQL DB 생성시 UTF8로 기본으로 해주지 않는곳에서의 설정
안녕하세요..^^
한국내에서는 UTF8이면은 UTF8로 DB나 테이블이 생성되어서 걱정이 없습니다.
하지만, 제가 사용하는 외국 웹호스팅에서는 UTF8을 지원을 해주면서도 latin 형식으로 해 놓은곳이 있어서 추후에 UTF8로 하기위해서 테이블 생성이나 그누보드와 MySQL DB간에 연결 설정을 조금 하였습니다.
MySQL
버전은 5 버전인데, UTF8로 해 놓으려니 잘 되지도 않고, 외국이다 보니 몇가지를 계속 영어로 하고는 있지만은 그래도
이런것을 하기도 귀찮고 짧은 영어 실력에 되지 않다 보니 그누보드의 소스를 수정 하여서 조금 엉뚱하게 UTF8로 설정을 해
놓았습니다.
install 할 당시에도 넣어 놓았지만은 잘 되지 않아서 일단은 좀더 생각을 해 보아야 하지만 install 이후에는 UTF8로 DB에 저장이 되는듯 합니다.
먼저 install 디렉토리 내에 sql_gnuboard4.sql 파일을 수정을 하였습니다.
이곳에서 해주지 않으니 utf8로 만들어지지 않아서 조금 골치가 아팠습니다.
위에 파일을 열어 보시면은 각 테이블 생성시에 설정후에 " ); " 로 종결 되는 부분이 있습니다.
이곳에서 아래와 같이 수정을 합니다.
원본 :
);
수정후
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
추가된 부분은 ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci 이 부분 입니다..
collate 나 charset 을 utf8로 설정을 하여서 테이블 설정시에도 하도록 만들어 놓은 것입니다.
그리고 나서 다른분의 활용팁을 참고 하여서, DB와 연결 부분에 약간의 수정을 하였습니다.
lib / common.lib.php 파일을 열어가지고 1026줄 근처에 보시면은 아래와 같이 있습니다.
원본
function sql_connect($host, $user, $pass)
{
return @mysql_connect($host, $user, $pass);
}
수정본
// DB 연결
function sql_connect($host, $user, $pass)
{
$connect = @mysql_connect($host, $user, $pass);
@mysql_query("SET character_set_client = utf8");
@mysql_query("SET character_set_results = utf8");
@mysql_query("SET character_set_connection = utf8");
return $connect;
}
위에 처럼 추가를 하여서 DB와 의사소통(?)간에 utf8로 하도록 하였습니다..^^;;
확실히 몰라서 추가된것도 있지만은 일단은 실패하지 않고 하였던것 같습니다....
모든것을 하고 가장 중요한것이 게시판 생성시에도 되어야 한다는 것입니다..
이것도 그누보는 sql 파일을 불러 와서 만들기때문에 이쪽에서 설정을 해주어야 합니다.
adm / sql_write.php 파일을 열어가지고 제일 아래쪽에 내려가시면은 아래와 같이 보이실것입니다.
원본
KEY `wr_num_reply_parent` (`wr_num`,`wr_reply`,`wr_parent`),
KEY `wr_is_comment` (`wr_is_comment`,`wr_id`)
);
수정 후
KEY `wr_num_reply_parent` (`wr_num`,`wr_reply`,`wr_parent`),
KEY `wr_is_comment` (`wr_is_comment`,`wr_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
이렇게 함으로 인해서 게시판 생성도 UTF8로 만들어 질것입니다....^^
아직 큰 문제는 찾지 못하였지만은 워낙에 실력이 없는 저로서는 짜집기 한것이여서 어떤 문제가 발생할지 모르겠습니다..ㅠㅠ
저보다 실력 좋으시고 지식이 많으신분들이 보시고 좀 도와 주시기 바랍니다.^^
관련링크
댓글목록
등록된 댓글이 없습니다.