별명 입력시 한글은 안되는데 영어와 숫자는 됩니다... > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

별명 입력시 한글은 안되는데 영어와 숫자는 됩니다... 정보

별명 입력시 한글은 안되는데 영어와 숫자는 됩니다...

본문

별명 입력시 한글은 안되느고 영어와 숫자는 되네요..ㅜㅜ

euc-kr을 이용하고 있습니다만,

<?
include_once("_common.php");
header("Content-Type: text/html; charset=euc-kr");  // 이렇게 한줄만 추가해주면 됩니다. ^^;

if (!function_exists('convert_charset')) {
    /*
    -----------------------------------------------------------
        Charset 을 변환하는 함수
    -----------------------------------------------------------
    iconv 함수가 있으면 iconv 로 변환하고
    없으면 mb_convert_encoding 함수를 사용한다.
    둘다 없으면 사용할 수 없다.
    */
    function convert_charset($from_charset, $to_charset, $str) {

        if( function_exists('iconv') )
            return iconv($from_charset, $to_charset, $str);
        elseif( function_exists('mb_convert_encoding') )
            return mb_convert_encoding($str, $to_charset, $from_charset);
        else
            die("Not found 'iconv' or 'mbstring' library in server.");
    }
}

// $reg_mb_nick = convert_charset('euc-kr','UTF-8','CP949',$reg_mb_nick);

// 별명은 한글, 영문, 숫자만 가능
if (!check_string($reg_mb_nick, _G4_HANGUL_ + _G4_ALPHABETIC_ + _G4_NUMERIC_)) {
    echo "110"; // 별명은 공백없이 한글, 영문, 숫자만 입력 가능합니다.
} else if (strlen($reg_mb_nick) < 4) {
    echo "120"; // 4글자 이상 입력
} else {
    $row = sql_fetch(" select count(*) as cnt from $g4[member_table] where mb_nick = '$reg_mb_nick' ");
    if ($row[cnt]) {
        echo "130"; // 이미 존재하는 별명
    } else {
        echo "000"; // 정상
    }
}
?>

  • 복사

댓글 전체

원본 파일로 돌려보셨나요?

원본 파일에는...

header("Content-Type: text/html; charset=euc-kr");  // 이렇게 한줄만 추가해주면 됩니다. ^^;
... 줄이 없으니 지우시고...

주석 처리된 아랫줄이...
// $reg_mb_nick = convert_charset('euc-kr','UTF-8','CP949',$reg_mb_nick);

원본에는 주석 처리 안되어 있고 아래처럼 되어 있습니다
$reg_mb_nick = convert_charset('UTF-8','CP949',$reg_mb_nick);

저도 euc-kr 이지만 원본 수정없이 한글 입력 잘 됩니다..
<?
include_once("_common.php");
//header("Content-Type: text/html; charset=euc-kr");  // 이렇게 한줄만 추가해주면 됩니다. ^^;

if (!function_exists('convert_charset')) {
    /*
    -----------------------------------------------------------
        Charset 을 변환하는 함수
    -----------------------------------------------------------
    iconv 함수가 있으면 iconv 로 변환하고
    없으면 mb_convert_encoding 함수를 사용한다.
    둘다 없으면 사용할 수 없다.
    */
    function convert_charset($from_charset, $to_charset, $str) {

        if( function_exists('iconv') )
            return iconv($from_charset, $to_charset, $str);
        elseif( function_exists('mb_convert_encoding') )
            return mb_convert_encoding($str, $to_charset, $from_charset);
        else
            die("Not found 'iconv' or 'mbstring' library in server.");
    }
}

$reg_mb_nick = convert_charset('UTF-8','CP949', $reg_mb_nick);

// 별명은 한글, 영문, 숫자만 가능
if (!check_string($reg_mb_nick, _G4_HANGUL_ + _G4_ALPHABETIC_ + _G4_NUMERIC_)) {
    echo "110"; // 별명은 공백없이 한글, 영문, 숫자만 입력 가능합니다.
} else if (strlen($reg_mb_nick) < 4) {
    echo "120"; // 4글자 이상 입력
} else {
    $row = sql_fetch(" select count(*) as cnt from $g4[member_table] where mb_nick = '$reg_mb_nick' ");
    if ($row[cnt]) {
        echo "130"; // 이미 존재하는 별명
    } else {
        echo "000"; // 정상
    }
}
?>

...안되요.ㅠㅠ
header("Content-Type: text/html; charset=euc-kr");  // 이렇게 한줄만 추가해주면 됩니다. ^^;
를 추가하시고

$reg_mb_nick = convert_charset('euc-kr','CP949', $reg_mb_nick);

등을 변경해보세요.
© SIRSOFT
현재 페이지 제일 처음으로