아래에 테스트하기위한 링크는 삭제되었습니다.
내가 사용하는 호스팅은 UTF-8을 사용하는 호스팅인데 사실 이것이 무엇을 의미하는지는 잘 알지 못한다. 웹에 관한 무지 때문이기도 하며 사실 이런 골머리 아픈 것은 피해가고 싶은 이유에서인지도 모른다. 그리고 utf-8 환경을 지원해주는 게시판이 아직은 많지 않은 것으로 알고 있고 이 부분은 내 생각이 틀렸을지도 모르나 대부분 많이 사용하는 제로보드의 경우 그러한 것으로 알고 있다. 가끔 제로보드를 utf-8에서 사용하려는 사람들의 글 내용을 보면 역시 삽질이라는 단어를 많이 볼 수 있는 것으로만 봐도 아마 제대로 동작하지 않는다는 것을 추측해볼 수 있는 것 아닐까?
내가 사용하는 호스팅이 바로 UTF-8의 호스팅이며 예전에 어느 게시판에서 phpBB2를 설치 했을때 한글이 깨지거나 출력이 안되는 것을 보았으며, 당시 나도 설치를 해보았는데 역시 한글의 입력과 출력이 제대로 되지 않았고, 한글 언어팩을 설치했 때는 더 심각한 상태로 기억이 된다. 그런데 며칠전 phpBB2를 UTF-8 환경에서 설치하는 방법을 게시한 것을 발견하고 내용을 참고삼아서 UTF-8에서 다시 phpBB2를 설치 해보았다.
현재 설치된 phpBB2 테스트 주소는 http://hooya.dobcast.com/phpBB2 이다.
설치 방법은 (설치 방법을 기록한 게시판의 글을 그대로 인용해본다.)
1. 설치전 다음 파일을 수정한다.
(1) /db/mysql.php의 55번째 줄 다음줄에 다음을 추가한다.
(2) /db/mysql4.php의 48번째 줄 다음줄에 다음을 추가한다.
mysql_query('set names utf8');
(3) /language/lang_english/lang_main.php의 36번째줄을 다음과 같이 고친다.
$lang['ENCODING'] = 'UTF-8';
- 언어팩을 미리 깔아놨으면 언어팩마다 위와 같이 수정해준다.
(4) /language/lang_korean/ 의 하위에 있는 모든 파일을 에디티플러스 등으로 UTF-8로 새로 저장한다.
- 언어팩을 미리 깔아놨을 경우2. 설치 후 다음 파일을 수정한다.(설치 전에 수정해도 됩니다.)
(1) 모든 랭귀지폴더(한국어를 예로들면 /language/lang_korean) 의 email 폴더에 있는 *.tpl들에 있는 Charset: 이 다음 부분을 UTF-8로 바꾸어주고, UTF-8로 저장한다.
하위 파일을 모두 UTF-8로 새로 저장한다.
(2) /includes/emailer.php 의 78번째 줄을 다음으로 고친다.
$this->subject = '=?UTF-8?B?'.base64_encode(trim(preg_replace('#[\n\r]+#s', '', $subject))).'?=';
- UTF-8로 메일을 보내면 깨져서 드가는 웹메일서비스가 있습니다. iconv가 깔려있다면 적당히 바꾸시면 좋습니다.3. 부가내용
(1) 일본어 및 중국어 등의 언어팩을 깔 경우 phpbb.com에서 다운을 받는다.
(2) 에디트 플러스의 설정 -> 파일 부분의 새 파일 형식이 있는데 그 옆에 ...이라고 씌여진 부분을 눌러서 일본어와 중국어를 인코딩창으로 옮긴다.(일본어는 Shift-JIS로 하면 됩니다.)
(2) 에디트 플러스에서 ftp로 접속해서 파일을 모두 연다. 열때 추가된 인코딩으로 적절하게 선택한다.
(3) 저장을 UTF-8로 다시 해준다.(왠 노가다 -_-;;)PHPBB가 다국어는 현재까지 전혀 고려하지 않고 제작을 해서 곳곳에 고쳐야 할 코드가 있을지도 모릅니다만, 나이스하게 작동합니다.
위와 같은 방법으로 설치를 했으며 최초 설치를 할때 해당 되는 내용이며
현재 설치 되어 있는 테스트를 위한 phpBB2의 경우 설치 과정에서 1번 과정 중에 (1)~(4) 의 내용을 적용했고 차후 메일 부분도 적용을 해볼까 한다.
아직 phpBB에 관한 사용법도 모르고 있으며 단지 UTF-8 환경에서 설치 후 사용할 수 있는지를 테스트하기 위해서 그대로 적용해 본 것이다. 차후 어느 정도 사용법을 숙지하면 2번의 내용도 적용해 볼 생각이다.
해당 URL은 일단 테스트용으로 생성을 한 것이라 언제 사라질지는 알 수 없습니다.