데이터베이스의 문자셋이 다른것을 지원하는 방법. > 그누4 팁자료실

그누4 팁자료실

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

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

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

본문

데이터베이스의 문자셋이 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);
}

추천
3
  • 복사

댓글 2개

© SIRSOFT
현재 페이지 제일 처음으로