그누보드2014.03.03 15:02




그누보드가 g5-5.0b20 버전에서 공식적으로 g4 에서의 업데이트를 지원하기 시작했다. 


이를 따라가 본다. 




** 그누보드 4 -> 5 컨버팅



0. 각종 환경의 문자셋 charset 확인 및 목표


- 필자의 서버 환경은

서버 charset : euc-kr

MySQL 의 g4 테이블들의 문자셋 : euckr_korean_ci

php 소스의 인코딩 : ANSI

html charset : euc-kr


- 그누보드5 는 utf-8 로만 제공이 되며, 대세는 utf-8 로의 전환이 맞으므로..

신규 그누보드5 사이트는 MySQL  php html 모두 utf-8 로 변환함을 목표로 한다.



1. 그누보드5 신규설치 하기


- 그누보드4가 설치되어 있는 폴더 옆에 그누보드5 를 설치한다. 

- 디비명이나 디비 계정은 같은 것을 사용한다.

- 그누보드4 의 prefix 가 g4_ 라고 가정하고, 그누보드5 는 prefix g5_ 로 설치된다고 전제한다. 



2. g4_import.php 실행


최고관리자로 로그인 후, 그누보드5  폴더에 있는 g4_import.php 를 브라우저에서 호출한다.

g4 폴더의 config.php 파일의 상대경로를 입력한다. 


이렇게 하면 디비 데이타를 이전하게 되는데, 시간이 좀 많이 걸린다. 



3. 변환된 사이트 확인해 보기


완료 후에 새로운  g5 사이트를 확인해 보자.. 잘 변환 되었는가? ^^


필자의 경우엔 문제가 좀 생겼다. 한글이 다 깨졌다. ㅡㅡ

g4_import_run.php 의 열어 보면, euc-kr 일 경우에도 고려하여 코딩이 되어 있다. 

하지만, 여러가지 시도해 보기도 하고, $is_euckr = true; 를 강제로 지정하여 시도해 보아도 한글은 깨진다. ㅡㅡ



** 문제 해결하기


1. 현재의 환경 그대로에서 디비 테이블의 charset 을 변경하는 방법은.. 

phpmyadmin 에서 테이블들을 내보내기(export) 한 후에, charset 을 변경한 후에 가져오기(import) 시키는 것이다. 

하지만, 이 방법은 자동화된 방법이 아니기 때문에, 차선책으로 남겨 둔다. 

인터넷을 찾아 보면, 터미널 환경에서 mysql 을 dump 시키는 방법을 제시하는데 이 방법은 논외로 한다.


2. 디비 테이블 php html 을 전부가 euc-kr ansi 인 환경에서는 ..

여러가지 방법을 시도해 보았지만, utf-8 로 전환할 때 한글이 깨진다. 


3. php 및 html 의 인코딩을 ansi euc-kr 에서 utf-8 로 변경하기

디비 테이블의 charset 을 변경하기가 쉽지 않고, g4_import_run.php 소스에 euckr DB가 고려된 부분이 있으므로,

디비는 그대로 두고 php html 을 utf-8 로 변환한다. 

이 작업은  php 소스를 전부 열어서 utf-8 로 변환하고, html 의 meta 태그를 utf-8 로 수정하여야 하기 때문에 노가다가 필요한 작업이다. 

일단 변환후, utf-8 로 변환된 웹소스와 euckr 인 MySQL 테이블 간에는 한글 깨짐 없이 잘 동작한다. ^^


4. 이런 상태로 위의 g4 -> g5 컨버팅을 시도해 본다. 

한글 깨진 테이블들 다 삭제하고 g5 새로 설치 후에 g4_import.php 를 호출한다. 

역시나 시간은 많이 걸린다. 

완료후 한글을 확인해 본다. 한글이 안깨진다. 성공~~~~! ^^

회원디비, 게시판 등등을 확인해 보았으나, 한글이 잘 나온다. ^^

g5 신규 디비 테이블을 확인해 보면 utf8 로 만들어져 있음을 확인할 수 있다.



** 후기

서버가 euc-kr 이고 mysql 디비가 euc-kr 일 지라도, php 와 html 을 utf-8 로 유지하는 것은 가능하므로, 

소스는 항상 utf-8 로 변환하고, 신규작업은 무조건 utf-8 로 작업하는 것이 좋겠다. 

php 소스에서 디비와의 소통에는 문제가 없으니, 겉으로 보이는 php 와 html 은 utf-8 로 하여 외부와의 소통에 문제가 없도록 해야 할 것이다. 



- 추가 -


** 전환 후 확인 사항


1. 스킨 컨버팅

그누보드 5 의 기본 스킨은 basic 과 gallery 두개가 있고, 모바일도 역시 이 두개가 있다. 

위 변환 과정은 스킨은 g5 용으로 변환이 안되기 때문에, 컨버팅후에 스킨을 g5 용으로 수정을 해 주어야 한다. 

스킨을 수정하는 작업은 간단하지는 않다. 


2. 게시판 관리에서 기본 값 설정

디비 테이블에서 g4 에서는 없는 필드는 g5 로 컨버팅될 때 값을 0 으로 넣어 버린다. 

예) 모바일 페이지당 목록수, 갤러리 이미지 폭, 갤러리 이미지 높이, 모바일 갤러리 이미지 폭, 모바일 갤러리 이미지 높이 등

이 값들을 0 이 아닌 값들로 수정해 줘야 게시판에서 에러가 나지 않는다. 심지어 모바일용 스킨에서는 0 으로 나누는 에러가 나기도 한다.

g5 의 기본 갤러리 스킨의 경우, 목록에서 이미지수 4개, 폭 174, 높이 130 정도 주면 가로로 꽉 차는 정도 된다.

 


Posted by 마스타

댓글을 달아 주세요

  1. 그누보드와 XE로 사이트를 만들었는데 컨텐츠가 부족하신가요?

    http://www.htmlshark.ga 도와 드립니다.

    범용 웹 파싱 툴

    - 정상적인 네트워크 상황에서 시간당 15,000개 내외의 주소를 파싱

    - 게시물 제목 및 이미지 주소 필터링

    - 입력 데이타베이스(그누보드, XE) 자동 탐지 및 게시판 테이블/모듈/분류 자동 인식

    - 게시물 작성자 및 조회수 랜덤 입력 기능

    - 출처 표시 가능

    - 텍스트 파싱 모드 추가 (ver 1.1)

    - 페이지 추출 후 입력 기능 추가 (ver 1.1)

    - 지속적인 업데이트

    2015.04.13 14:00 [ ADDR : EDIT/ DEL : REPLY ]
  2. 낙천주의

    이 경우 아주 간단한 팁이 있더군요.
    http://sir.co.kr/g5_tip/1731

    그누보드4의 config.php 파일을 저같은 경우는 uft8로 변경,
    config.php 의 77번째줄
    $g4['charset'] = "euc-kr"; 를 $g4['charset'] = "utf8"; 변경후
    g4_import.php 를 실행

    2015.09.20 00:11 [ ADDR : EDIT/ DEL : REPLY ]