GNU라이센스의 APM 게시판

http://sir.co.kr/main/gnuboard4/


UTF8사용자를 위한 문자열자르기 함수 변경 ( lib/common.lib.php )

// 한글 한글자(2byte)는 길이 2, 공란.영숫자.특수문자는 길이 1
// UTF-8 을 위해 아래 함수 이용
/*
function cut_str($str, $len, $suffix="…")
{
    $s = substr($str, 0, $len);
    $cnt = 0;
    for ($i=0; $i<strlen($s); $i++)
        if (ord($s[$i]) > 127)
            $cnt++;
    $s = substr($s, 0, $len - ($cnt % 2));
    if (strlen($s) >= strlen($str))
        $suffix = "";
    return $s . $suffix;
}
*/

function cut_str($str,$len,$tail='_') {
    $c = substr(str_pad(decbin(ord($str{$len})),8,'0',STR_PAD_LEFT),0,2);
    if ($c == '10')
        for (;$c != '11' && $c{0} == 1;$c = substr(str_pad(decbin(ord($str{--$len})),8,'0',STR_PAD_LEFT),0,2));
    return substr($str,0,$len) . (strlen($str)-strlen($tail) >= $len ? $tail : '');
}
  • 4.06.13 버전부터 UTF-8버전도 같이 배포되고 있음.


MySQL 5 인코딩 변경문제로 CharacterSet에 문제가 있을 경우, 다음 처럼 해결

  1. /etc/mysql/my.cnf 파일에 다음 추가
    • character_set_server=utf8
      init_connect=SET names binary
  2. mysqldump 로 덤프받은 후, 받은 파일에 인코딩부분 수정
  3. 재 로드

로그인 실패문제는 MySQL 5의 password함수 변경에 의함 lib/common.lib.php 파일에서 password 를 old_password로 수정

GD gallery 에서 썸네일 엑박 : PHP5에서 발생하는 문제. 게시판설정에서 여분필드 2를 9로 설정


CategoryProgram

GnuBoard (last edited 2012-10-30 23:14:58 by 221)

web biohackers.net