데이터베이스의 문자셋이 다른것을 지원하는 방법.

데이터베이스의 문자셋이 UTF-8 이나 EUC-KR 이 아닌경우가 있습니다.
최초에 데이터베이스를 만들때, 상황이 그대로 이어지고 있는 경우이지요.

해당 프로그램은 lib/common.lib.php 에 있습니다.

---- lib/common.lib.php ----

// DB 연결
function sql_connect($host, $user, $pass)
{
    global $g4;

    if (strtolower($g4['charset']) == 'utf-8') @mysql_query(" set names utf8 ");
    else if (strtolower($g4['charset']) == 'euc-kr') @mysql_query(" set names euckr ");
    return @mysql_connect($host, $user, $pass);
}


// DB 선택
function sql_select_db($db, $connect)
{
    global $g4;

    if (strtolower($g4['charset']) == 'utf-8') @mysql_query(" set names utf8 ");
    else if (strtolower($g4['charset']) == 'euc-kr') @mysql_query(" set names euckr ");
    return @mysql_select_db($db, $connect);
}

return 전에    @mysql_query(" set names latin1"); 과 같이 넣어주어도 되지만, 범용성을 높이기 위해서 config 에 DB 용 문자셋은 따로 지정하는 것이 어떨까 싶습니다.

config.php 에서 

$g4['charset'] = "euc-kr";
$g4['db_charset'] = "latin1";

와 같이 $g4['db_charset'] = "latin1"; 을 추가하고 common.lib.php 는 아래와 같이 수정합니다.
차기 버전에는 이렇게 적용되었으면 합니다.

---- lib/common.lib.php ----
// DB 연결
function sql_connect($host, $user, $pass)
{
    global $g4;

//    if (strtolower($g4['charset']) == 'utf-8') @mysql_query(" set names utf8 ");
//    else if (strtolower($g4['charset']) == 'euc-kr') @mysql_query(" set names euckr ");
    @mysql_query(" set names ".$g4['db_charset']);
    return @mysql_connect($host, $user, $pass);
}


// DB 선택
function sql_select_db($db, $connect)
{
    global $g4;

//    if (strtolower($g4['charset']) == 'utf-8') @mysql_query(" set names utf8 ");
//    else if (strtolower($g4['charset']) == 'euc-kr') @mysql_query(" set names euckr ");
    @mysql_query(" set names ".$g4['db_charset']);
    return @mysql_select_db($db, $connect);
}

|

댓글 2개

좋네요. 관리자님 이거 하나 추가하심이 어떤실련지.. ^^
그리고 설치시 선택하게 해주면 문제없겠네요
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요. 나누면 즐거움이 커집니다.

+
제목 글쓴이 날짜 조회
16년 전 조회 6,047
16년 전 조회 6,675
16년 전 조회 4,794
16년 전 조회 8,718
16년 전 조회 3,389
16년 전 조회 5,620
16년 전 조회 4,834
16년 전 조회 7,822
16년 전 조회 7,993
16년 전 조회 3,099
16년 전 조회 4,329
16년 전 조회 3,448
16년 전 조회 4,372
16년 전 조회 4,483
16년 전 조회 4,034
16년 전 조회 5,109
16년 전 조회 3,814
16년 전 조회 3,319
16년 전 조회 6,015
16년 전 조회 1.9만
🐛 버그신고