홈페이지 관련2011. 2. 22. 00:04

제로보드 4.1 pl8 에서 Xpress 1.2.4 로 서버를 이전/업그레이드 하며 회원정보와 게시판을 마이그레이션 하고자 합니다.
우선 zeroboard4 data export tool ver 0.2 를 이용해 4.1 의 회원및 게시판을 추출해 새 서버의 Xpress 로 옮기는 작업은 성공적입니다, 그런데 회원이름과 게시판 제목, 내용의 한글이 모두 깨집니다.

 1. 우선 zeroboard4 data export tool ver 0.2를 이용해 제로보드 4.0 을 xml 로 backup 받을때  EUC-KR 로 설정해 백업하면 추출된 xml 에 다음과 같은 에러가 포함되어 있고 추출이 되지 않습니다.

<user_id><br /> <b>Fatal error</b>:  Call to undefined function: iconv()

 그래서 zeroboard4 data export tool ver 0.2 를 UTF-8 로 설정하고 추출하면 잘 추출이 되는데 xpress 에서 복원하면 한글이 깨집니다.
 새 서버의 Xpress 게시판은 언어코드가 UTF-8 이고 이전 서버의 제로보드 4.1 게시판은 EUC-KR 입니다.
 zeroboard4 data export tool ver 0.2 를 이용해 회원/게시판 정보를 추출할때 해당 게시판 character set 이 EUC-KR 인데도 불구하고 EUC-KR로 추출하면 왜 추출된 xml 에 <user_id><br /> <b>Fatal error</b>:  Call to undefined function: iconv()  라고 에러가 나는지, 그래서 할수없이 UTF-8로 추출하여 새 서버의 Xpress 게시판에 복원하면 왜 한글이 께지는지요?


해결방법

제로보드4의 EUC-KR 버전(기본 버전)을 XE(UTF-8)로 이전하시려면 제로보드4의 데이터를 UTF-8로 변환을 해서 XML 파일로 저장을 해야 합니다.

 에러가 난다는 방식(EUC-KR로 선택)이 맞는 것인데 문제는 iconv 라는 함수가 xcam님의 서버에 존재하지 않아서 생기는 문제입니다.

 서버 관리자에게 iconv 적용해달라고 하셔야 할 듯 합니다.


Posted by 캠퍼스친구
홈페이지 관련2011. 2. 21. 23:51

데이터이전 모듈에는 중복닉네임에 대한 처리부분이 있는데 제대로 작동 안하더라구요.
아래처럼 수정해보세요..

파일 : /xe/modules/importer/importer.admin.controller.php
대략 285Line에 보시면 이런부분이 있습니다.

                // 중복되는 nick_name 데이터가 있는지 체크
                $nick_args = null;
                $nick_args->nick_name = $obj->nick_name;
                $nick_output = executeQuery('member.getMemberSrl', $nick_args);
                if(!$nick_output->toBool()) $obj->nick_name .= '_'.$obj->member_srl;

이부분아래처럼 변경하세요.

                // 중복되는 nick_name 데이터가 있는지 체크
                $nick_args = null;
                $nick_args->nick_name = $obj->nick_name;
                $nick_output = executeQuery('member.getMemberSrl', $nick_args);
                if($nick_output->data) $obj->nick_name .= '_'.$obj->member_srl;


Posted by 캠퍼스친구