그누보드가 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 정도 주면 가로로 꽉 차는 정도 된다.