제로보드를 utf-8 인코딩으로 바꾸기
작성자 : 단국강토
등록날짜 : 2008.12.30 16:52
1. mysql db와 제로보드 디렉토리 전체를 백업합니다.
(반드시 해야 합니다. 이 방법으로 인한 자료 손실 등은 제가 책임 못 집니다. 만약 문제가 생기면 이걸로 복구하세요.)
2. mysql에서 제로보드 관련 테이블들을 삭제하고, mydb.sql 파일에서 제로보드가 아닌 부분의 정보들을 삭제합니다.
(전 로컬에서 제로보드만 mysql을 사용할 때 루트 권한으로 drop database, create database를 써서 한 방에 해결했습니다..-_- 아마 호스팅을 쓰는 대부분의 경우에는 그 부분을 별도로 php 스크립트를 짜야 되겠더군요;;)
3. mydb.sql 파일을 vim 등으로 열고 :set fenc=utf-8 해준 다음 저장합니다. (utf-8을 지원하는 윈도우용 에디터로 바꿔도 됩니다. 근데 메모장은 깨지는 경우가 있더군요) 그 다음,
4. 제가 올린 conv2utf8.php 파일을 제로보드가 설치된 디렉토리에 올리고 $ php conv2utf8.php 라고 칩니다.
(파일 목록이 좌르륵 나오면 잘 된 것입니다)
일단 이걸 한 번 하고 나면 그 다음에 또 해선 안됩니다. 이미 utf-8로 변환된 내용을 cp949로 보고 다시 utf-8로 변환하면 다 깨집니다.. -_-;
5. lib.php를 vim으로 열고 /meta 엔터 하신 다음 n을 눌러가며 euc-kr이라고 된 곳을 모두 utf-8로 바꿉니다.
또한 /euc 엔터로도 찾아 utf-8로 바꿉니다. (vim 사용법을 모르시면 윈도우용 에디터로 meta 태그 부분과 메일 전송 헤더 부분을 찾아 고친 다음 올리셔도 됩니다. 단, 유니코드 지원하는 에디터여야 합니다)
6. [2005/07/20 추가] 만약 서버에서 Content-Type 헤더를 보내주지 않거나 다른 인코딩을 사용하도록 설정된 경우 깨졌다 안 깨졌다 하는 현상이 나타날 수 있습니다. 그런 경우, zboard.php가 있는 디렉토리에서 _head.php를 열고, 6번째 줄의 $_head_php_excuted = true; 다음에 header("Content-Type: text/html; charset=utf-8"); 라는 명령을 한 줄 추가해 주시면 됩니다.
7. [2005/08/26 추가] python으로 된 동일한 프로그램을 추가했습니다. (출력 내용은 조금 다를 수 있음) 실행은
$ python conv2utf8.py
라고 하시면 되며, php에 iconv가 지원되지 않더라도 python 2.4 이상이 깔려 있으면 사용하실 수 있습니다.
그리고 기존의 php 프로그램도 php 4 버전에서 사용할 수 있게 고쳤습니다.
이렇게 하면 제로보드를 utf-8로 쓰실 수 있게 됩니다. 이때, 브라우저에 저장된 쿠키 때문인지 코멘트 란에 미리 입력되어 있는 사용자 이름이 깨지는데, 한 번만 글쓰기나 코멘트쓰기를 하고 나면 제대로 고쳐지므로 신경쓰실 필요는 없을 것 같습니다.
(반드시 해야 합니다. 이 방법으로 인한 자료 손실 등은 제가 책임 못 집니다. 만약 문제가 생기면 이걸로 복구하세요.)
DB 백업 : $ mysqldump -uUSER -p DBNAME > mydb.sql
2. mysql에서 제로보드 관련 테이블들을 삭제하고, mydb.sql 파일에서 제로보드가 아닌 부분의 정보들을 삭제합니다.
(전 로컬에서 제로보드만 mysql을 사용할 때 루트 권한으로 drop database, create database를 써서 한 방에 해결했습니다..-_- 아마 호스팅을 쓰는 대부분의 경우에는 그 부분을 별도로 php 스크립트를 짜야 되겠더군요;;)
3. mydb.sql 파일을 vim 등으로 열고 :set fenc=utf-8 해준 다음 저장합니다. (utf-8을 지원하는 윈도우용 에디터로 바꿔도 됩니다. 근데 메모장은 깨지는 경우가 있더군요) 그 다음,
$ mysql -uUSER -p < mydb.sql
라고 칩니다.4. 제가 올린 conv2utf8.php 파일을 제로보드가 설치된 디렉토리에 올리고 $ php conv2utf8.php 라고 칩니다.
(파일 목록이 좌르륵 나오면 잘 된 것입니다)
일단 이걸 한 번 하고 나면 그 다음에 또 해선 안됩니다. 이미 utf-8로 변환된 내용을 cp949로 보고 다시 utf-8로 변환하면 다 깨집니다.. -_-;
5. lib.php를 vim으로 열고 /meta 엔터 하신 다음 n을 눌러가며 euc-kr이라고 된 곳을 모두 utf-8로 바꿉니다.
또한 /euc 엔터로도 찾아 utf-8로 바꿉니다. (vim 사용법을 모르시면 윈도우용 에디터로 meta 태그 부분과 메일 전송 헤더 부분을 찾아 고친 다음 올리셔도 됩니다. 단, 유니코드 지원하는 에디터여야 합니다)
6. [2005/07/20 추가] 만약 서버에서 Content-Type 헤더를 보내주지 않거나 다른 인코딩을 사용하도록 설정된 경우 깨졌다 안 깨졌다 하는 현상이 나타날 수 있습니다. 그런 경우, zboard.php가 있는 디렉토리에서 _head.php를 열고, 6번째 줄의 $_head_php_excuted = true; 다음에 header("Content-Type: text/html; charset=utf-8"); 라는 명령을 한 줄 추가해 주시면 됩니다.
7. [2005/08/26 추가] python으로 된 동일한 프로그램을 추가했습니다. (출력 내용은 조금 다를 수 있음) 실행은
$ python conv2utf8.py
라고 하시면 되며, php에 iconv가 지원되지 않더라도 python 2.4 이상이 깔려 있으면 사용하실 수 있습니다.
그리고 기존의 php 프로그램도 php 4 버전에서 사용할 수 있게 고쳤습니다.
이렇게 하면 제로보드를 utf-8로 쓰실 수 있게 됩니다. 이때, 브라우저에 저장된 쿠키 때문인지 코멘트 란에 미리 입력되어 있는 사용자 이름이 깨지는데, 한 번만 글쓰기나 코멘트쓰기를 하고 나면 제대로 고쳐지므로 신경쓰실 필요는 없을 것 같습니다.
[출처] 음원
"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기, 각종 광고, 영업, 판매, 제안서, 전단지 반응율 3배×10배 이상 높이는 마법의 8단계 공식" |
☞자세히보기 |
|
|