UTF-8 버젼 그누보드의 검색이 깨어지는 오류 (원인)

불당   
   조회 12890   추천 0     비추천 0    

UTF-8 버젼의 그누보드에서 검색이 이상하게 깨저져서 2번째 페이지부터 잘 안나옵니다.
 
그 이유는 common.php의 mysql_real_escape_string 함수 때문 입니다.
그누보드의 모든 mysql_real_escape_string 함수를 다른거로 바꿔야 할 듯 합니다.
 
===
 
if (isset($stx))  { // search text (검색어)
    $stx = mysql_real_escape_string($stx);
    $qstr .= '&stx=' . urlencode($stx);
}

common.php의 윗 부분에서 코드가 깨어지고 있습니다.
UTF-8 환경에서 mysql_real_escape_string 함수에 "퍼옴"이라는 단어가 들어가면 깨어집니다.

common.php의 아랫부분의 $sca, $stx 부분의 코드가 재작성 되어야 합니다.
보안에 대한 부분이 그누보드 전체에 대한 부분이라, 이부분은 관리자님이 수정해야 할거 같습니다.

if (isset($sca))  {
    $sca = mysql_real_escape_string($sca);
    $qstr .= '&sca=' . urlencode($sca);
}

if (isset($stx))  { // search text (검색어)
    $stx = mysql_real_escape_string($stx);
    $qstr .= '&stx=' . urlencode($stx);
}

문제는 mysql_real_escape_string 함수가 UTF-8 환경에서 특정 한글을 깨어 버리는 것이고,
$stx, $sca를 쓰는 모든 곳에서 오류가 날 수 밖에 없습니다.
 
===
 
TopSchool님의 해결 방안
- opencode.co.kr -


제목Page 11/28
2011-10   12915   불당
2011-09   11103   불당
2011-09   14385   불당
2011-09   13913   불당
2011-09   10853   불당
2012-04   11653   불당
2011-09   11124   불당
2011-09   13394   불당
2011-09   11819   불당
2011-09   14516   불당
2011-09   19221   불당
2011-08   27561   불당
2011-08   11668   불당
2011-08   12891   불당
2011-08   14627   불당
2011-07   11923   불당
2011-07   12630   불당
2011-07   13741   불당
2011-07   15527   불당
2011-07   14603   테스터