Daybreakin Things

Posted
Filed under 컴퓨터
MR 홈페이지를 만들면서, 인코딩을 뭘로 할까 생각하다가 UTF-8이 좋긴 하겠으나 기존에 사용 중인 제로보드의 인코딩이 euc-kr이라는 사실을 깨닫고 euc-kr로 돌려야 하나 말아야 하나 고민하고 있었다. 그러나.. 명색이 그래도 코딩 쪼끔 할 줄 안다는 난데 이러면서(-_-a) php로 텍스트 파일들을 utf-8로 변환해 주는 간단한 php 스크립트를 만들었다.

※ 이 팁을 적용하기 전에 반드시 백업을 해 두세요. 잘못될 경우 책임지지 않습니다.

일단 제로보드 mysql db 내용을 텍스트 파일로 백업하고(mysqldump 이용), 그걸 유니코드 텍스트 에디터에서 utf-8로 변환한다. (vim 추천) 물론 다시 db에 집어넣는다.

다음엔 내가 만든 conv2utf8.php 파일을 받아서 제로보드나 기타 원하는 디렉토리에 복사하여 커맨드라인 방식으로 실행해 주면 된다. 이 파일은 인자로 주어진 디렉토리나 인자가 없을 경우 자신이 있는 디렉토리의 모든 파일과 하위 디렉토리들의 텍스트 파일들 인코링을 바꾸어 준다. (혹, 타인에 의해 깨지는 걸 막기 위해 작업 후 바로 삭제하길 권한다. url로 이 php에 접근해도 실행이 가능한데, 한 번 실행된 다음 또 실행되면 utf-8을 cp949로 간주하고 다시 utf-8로 변환하기 때문에 완전히 깨져버린다.)

마지막으로 lib.php에 나오는 meta 태그와 메인 전송 헤더 등에 나오는 "euc-kr"을 모두 "utf-8"로 바꾸니 잘 돌아간다.

자, 그럼 MR 홈페이지도 utf-8로 가는 거다.

ps. 아래 파일은 iconv를 사용할 수 있어야 한다.

conv2utf8.zip

스크립트 다운로드

아, 나름대로 힘든 하루 였음. 아래는 세 줄 요약. 제로보드 5 베타판 설치를 위해 호스팅 업체인 Cafe24에 서버 이전을 요구함. 이전 된 신서버(MySQL 5.0)와 구서버(MySQL 3.23) 간의 DB 버전 차이로 ...