작성일 댓글 52개

제로보드를 테터툴즈 거쳐 텍스트큐브로 컨버팅 및 업데이트 하기

2001년 홈페이지 오픈때부터 자체개발보드와 제로보드로 카페형식으로 운영을 해왔는데
카페형식의 운영은 더이상 무의미하다는 생각이 들어서 블로그로 개편했습니다.
사실 작년 홈페이지 개편때 블로그로 갈까도 생각했으나 일단 제로보드로 갔다가
추후에 생각하기로 했었습니다.
텍스트큐브가 다 좋은데 딱 하나 마음에 안드는게 있더군요.
업데이트에 대한 문서가 정확하지 않아서 헤매다가 해결이 안되서 컨버터 프로그램을 수정해서
컨버팅을 했습니다. 아래는 컨버팅 순서입니다.
컨버팅에 사용한 파일은 첨부하였고 테터툴즈 1.0.2는 텍스트큐브 홈페이지에서 받으실 수 있습니다.
컨버팅에 관한 내용은 첨부된 파일(zb2tt.php 첫머리에 있습니다.)에 있습니다.

1. 제로보드pl2 -> tt 1.0.2 로 컨버팅(zb2tt.php 수정하여 사용)


– PSMG 스킨을 위해 소스 추가(PSMG 스킨은 FN필드를 이용하여 기존에는 2개밖에 첨부가 안되던 것을 5개이상 이미지 및 파일 첨부가 가능하도록 수정한 스킨)


– 최초 zb2tt.php 프로그램이 아닌 첨부파일부분 버그를 잡은 2008. 3 월의 파일을 가지고 작업


– 기존 프로그램은 제로보드->테터툴즈 1.0.0을 기준으로 작성되었으나 이 버전은 제로보드->테터툴즈 1.0.2로 컨버팅합니다. (테터툴즈 1.0.0 에는 데이터백업 기능이 없음. 그래서 1.0.2로 컨버팅하고 데이터백업을 한후 버전업할 수 있게 작업)


2. tt로 컨버팅후 업데이트 순서 (그대로 덮어씌우면 되는데 일부 버전의 경우 몇몇 디렉토리를 삭제하라고
하고 있습니다. 삭제 안해도 상관은 없습니다)
   업데이트 할때마다 데이터 백업후 진행했습니다.
   사실 업데이트 순서에 대한 것은 텍스트큐브 어디에서도 찾아볼 수 없었고 제 나름대로 검색하고
   업데이트 문서를 참고해서 큰 버전업이 이루어진 것을 기준으로 작업을 했습니다.
   텍스트큐브 1.7.1로 완료한지 일주일이 넘었는데 아무 문제없이 사용중입니다.

   tt 1.0.2 -> 1.0.6 -> 1.0.6.1 -> 1.1.1 -> 1.1.3 -> TC 1.7.1


register_globals가 on, off 일 경우 상관없이 사용할 수 있도록 수정 (2008.12.14)

패스 수정 (2009. 2. 7)
5958012850.rar




 PS 제로보드에서 태테툴즈, 텍스트큐브로 컨버팅을 하면 티스토리로도 당연히 옮겨갈 수 있겠죠?

제로보드를 테터툴즈 거쳐 텍스트큐브로 컨버팅 및 업데이트 하기”에 대한 52개의 의견

  1. 안녕하세요
    지나는 길에 문의드립니다.
    zb2tt 프로그램을 사용해 제로보드를 테터툴즈로 변환할 경우 저의 경우는 모든 게시판의 글들이 깨져버리더군요.
    (http://jinmyungkwan.com/tt)
    어떤 이유에서 그런지는 잘 모르겠지만 혹시 조언을 구할 수 있을까 해서 문의드려봅니다.
    어디서 잘못된 것일까요?

  2. mysql charactor-set 문제 때문입니다. 제로보드의 경우 euc_kr로 되어있고 테터툴즈는 utf-8로 되어있습니다.
    제가 사용한 zb2tt의 경우에는 mysq 데이터를 euc-kr에서 utf-8로 제대로 바꿔서 입력이 됐습니다.
    우선은 나그네님의 서버환경하고 mysql이 euc-kr로 셋팅되어있는지 utf-8로 셋팅되어있는지 알아야 제대로된
    답변이 가능할 것 같습니다. 혹시 제가 올려놓은 컨버팅툴이 아닌 다른것으로 하셨다면 제걸로 해보시구요.
    꽁수라도 하나 알려드리자면 mysql_connect 부분 이후에 mysql_query(“set names utf8”); 을 넣어보세요.
    제 블로그는 텍스트큐브 1.7.1로 업데이트 되어있는데 관련파일(lib/components/Needlworks.DBMS.MySQL.php)을 보니
    캐릭터셋을 조사하여 utf8인지 아닌지 정해주는 부분이 있던데 테터툴즈 다른 버전은 어떤지 모르겠네요.
    나그네님 홈피에 가보니 데이터베이스가 컨버팅 될때 euc-kr로 들어간 것 같네요.

  3. 웅파님 조언 고맙습니다.
    우선 본 블로그의 zb2tt프로그램을 사용했습니다.
    그리고 저의 서버 환경은
    서버 버전: 5.0.22
    Protocol version: 10
    서버: Localhost via UNIX socket
    MySQL 문자셋: UTF-8 Unicode (utf8)
    입니다.
    그리고 위의 mysql_query(“set names utf8”);을 삽입하라는 것은 제로보드의 파일중에 삽입하라는 것인지 아니면 zb2tt.php 파일에 삽입하라는 것인지 한번 더 여쭈어봅니다.

    웅파님의 답글을 보고 zb2tt.php 파일에 삽입하여
    다시 해보았는데도 여전히 같은 문제가 발생하는 군요. 한번 더 문의드려봅니다.

    혹시 제로보드에서 utf-8용 파일을 다운받아 제로보드 전체를 복원하는 방법으로 제로보드를 바꾼다음
    테터툴즈로 변환하여도 될런지요..

    잘 몰라서 문의드리오니 한번 더 조언 부탁드립니다.

  4. 전에 쓰시던 제로보드 버전이 어떻게 되시는지요?
    그리고 mysql_query(“set names utf8”); 이 부분은 설치된 테터툴즈 안에 삽입해야합니다.
    서버의 mysql 문자셋이 utf8이라서 그렇네요. 컨버터 프로그램 소스를 봐야 정확히 알겠지만 제가 사용중인 서버는
    예전 서버라 mysql이 euc-kr입니다. 그래서 컨버팅후 웹관리툴에서 보면 데이터가 깨진것으로 보이지만 테터에서는
    이상없이 나옵니다. 아마 나그네님의 경우는 데이터가 euc-kr로 들어간 것 같습니다.

    소스를 보니 글내용이 utf8인지 조사해서 utf8이 아닐 경우만 변환하도록 되어있어서 그 문제는 아닌 것 같구요.
    나그네님의 제로보드 버전하고 phpmyadmin 같은 mysql웹관리툴로 db를 열어봤을때 글이 깨져나오는지 여부를
    알면 해결가능할 것 같습니다.

  5. 쉘(ssh)에 접속하셔서 cd tt 엔터로 tt가 설치된 디렉토리로 이동,
    grep -rn mysql_connect * 엔터 하시면
    lib/components/Needlworks.DBMS.MySQL.php:23: 이런식으로 프로그램의 위치와 줄수가 나타납니다.
    vi lib/components/Needlworks.DBMS.MySQL.php 하셔서 24번째 줄에 mysql_query( “set names utf8” ); 를
    삽입해보시면 됩니다.

    1. 제로보드는 제로보드4PL8입니다.
      그리고 웅파님께서 설명하신 데로 해보니
      grep -rn mysql_connect * 이후에 아래와 같이 나왔습니다.

      blog/owner/skin/setting/index.php:148:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      blog/owner/skin/preview/index.php:323:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      blog/owner/skin/index.php:139:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      blog/owner/skin/change/index.php:139:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      blog/checkup/index.php:139:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      blog/suggest/index.php:139:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      blog/login/api.php:142:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      blog/login/index.php:145:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      blog/search/index.php:347:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      blog/category/index.php:330:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      blog/rss/index.php:223:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      blog/keylog/index.php:324:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      blog/item.php:331:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      blog/index.php:331:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      blog/attachment/index.php:142:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      blog/comment/add/item.php:205:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      blog/comment/delete/item.php:202:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      blog/comment/comment/item.php:205:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      setup.php:157: if (!mysql_connect($_POST[‘dbServer’], $_POST[‘dbUser’], $_POST[‘dbPassword’]))
      setup.php:169: if (!mysql_connect($_POST[‘dbServer’], $_POST[‘dbUser’], $_POST[‘dbPassword’]))
      setup.php:379:mysql_connect
      zb2tt.php:78:$conn = mysql_connect($database[‘server’], $database[‘username’], $database[‘password’]) or die(“데이타베이스 연결 실패 : “.mysql_error());
      zbConversion.php:816:$conn = mysql_connect($database[‘server’], $database[‘username’], $database[‘password’]) or die(“데이타베이스 연결 실패 : “.mysql_error());

      그 다음부터는 잘 모르겠습니다.
      이거 너무 번거롭게 한 것이 아닌가 모르겠습니다.
      죄송합니다.

  6. 헉. 테터 초기버전은 살짝 개판이네요. 사실 mysql_connect를 저렇게 많이 할 필요가 없는데.. ^^;
    제가 예제로 올렸던 것은 텍스트큐브 1.7.1이라.. 대충 보니
    blog/index.php:331:mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
    이 파일에 332 줄에 삽입하시면 될것 같습니다.

    1. 일단 tt/blog/index.php 파일을 수정해보고 테터툴즈삭제및 테이블 삭제후 재설치 후 다시 변환해보았는데
      링크와 같습니다.(http://jinmyungkwan.com/tt)

      아래는 tt/blog/index.php 파일
      331줄~335줄내용이며 332줄에 입력한 내용입니다.

      mysql_connect($database[‘server’],$database[‘username’],$database[‘password’]);
      mysql_query( “set names utf8″ );
      mysql_select_db($database[‘database’]);
      @mysql_query(‘SET CHARACTER SET utf8’);
      @mysql_query(‘SET SESSION collation_connection = \’utf8_general_ci\”);

    2. 335줄 다음에 입력하시구요.
      결과를 봐서 변화가 없으면 set names euc-kr 로 바꿔서 한번 해보세요.

  7. 아직 해결은 못했습니다만 그간 정말 고마웠습니다.
    관리도 하지 않는 제로보드게시판이었는데 혹시나 하고 한번 시도해봤는데 잘 안되는군요.
    나중에 기회가 다시 오리라 생각됩니다.
    그동안 신경써 주셔서 고맙습니다.
    항상 건강하시고 행복하십시요.

  8. 웅파님 안녕하세요?
    제로보드4.1pl2 에서 텍스트큐브로 변환을 시도하려고 삽질 중에 이 곳까지 이르게 되었습니다.
    일단 태터 1.0.2로 컨버팅하려고 생각했는데, 계속 에러가 발생하네요.

    http://subus.byus.net/tattertools102/zb2tt.php 를 실행시키고,
    제로보드 디렉토리란에 /home1/subus/public_html/zboard 를 입력시킨 후,
    변환할 게시판 하나를 선택해서 변환을 누르면,

    변환하려는 제로보드 게시판을 선택해주세요.제로보드가 설치된 디렉토리 []를 찾을 수 없습니다.

    이란 메세지가 뜹니다.
    분명 /home1/subus/public_html/zboard 이 디렉토리가 맞는데 뭐가 잘못된 것인지 모르겠습니다.

    이지보드에서 텍스트큐브로 옮겨 보겠다고, 이지보드 -> 제로보드까지는 왔는데 여기서 막혀서 orz
    그누보드 -> 태터툴스 변환이 된다고 해서 그누보드도 깔았다가 여의치 못해 지우고 일주일째 삽질중입니다.

    프로그램 개발자 분께 여쭤봐야겠지만, 그 분들 홈피가 다 없어져서 알아볼 길이 없네요.
    혹시나 잠시 짬이 나시면 부탁드립니다. 짬 안나시면 말구요.
    댓글 달아주실 때까지 매일 오겠습니다. (_._)

  9. 제가 사용중인 호스팅서버가 옛날것이고 프로그램도 예전에 작성된거라 post, get을 처리하는 부분이
    현재 사용중이신 서버와 맞지가 않네요.
    zbConversion.php 프로그램을 수정해서 올려드릴테니 zbConversion.php 만 덮어씌우고 해보세요.
    ^^

  10. 팽우님 수정버전 올려놨습니다. 압축 푸시고 올려서 사용하시면 됩니다.
    해보시고 안되시면 알려주세요. ^^

    1. 웅파님 정말 감사합니다. 덕분에 그 전에 뜨던 에러메세지가 사라졌네요. ^^
      그런데 그 다음에 또 문제가 발생해서 좌절중입니다. orz

      저의 제로보드 게시판이 총 3개가 있습니다.
      photo5(글수900) / free(2182) / body(36)

      body 게시판은 아무 에러없이 변환이 됩니다.
      free 게시판은 766개만 옮겨집니다. 2002년 8월10일글까지만옮겨집니다.
      photo5는 1개만 옮겨집니다.

      free게시판 변환시에 아래와 같은 메세지가 발생하고요,

      comment 입력 실패 : ‘SQL 구문에 오류가 있습니다.’ 에러 같읍니다. (”?섎뒗 ?꾩< ???닿퀬 ?덉쓬. 吏?湲덈룄 移쒖젅???쒖씤 遺?吏묒뿉??遺??’ 명령어 라인 7)

      photo5게시판 같은 경우에는 아래와 같은 메세지가 발생합니다.

      copy from /home1/subus/public_html/zboard/data/photo5/DSCF0002.JPG to /home1/subus/public_html/zboard/attach/{owner}/1456767733.jpg failed.

      아드님과 노실 시간 쪼개서 수정버전 올려주셨는데, 다시 막혀서 면목 없습니다.

  11. free 게시판의 경우 mysql DB의 charactorSET이 2002년 8월 10일 이후에 바뀐 것으로 판단됩니다.
    2002년 8월 10일 이전에는 euc-kr로 들어가 있고 그 이후(아마 서버 옮기신 것으로, 또는 사양을 바꾸신
    것으로 판단됩니다)에는 utf-8 일 가능성이 있습니다. 그래서 글이 깨진 것처럼 나올 수 있습니다.
    아니면 DB상에서 2002년 8월 10일의 글이 깨져서 그럴 수도 있습니다.
    DB상에서 캐릭터셋이 변경된 것이라면 문제가 복잡, 심각해집니다.
    만약 DB가 깨진 것이라면 사용중이신 호스팅업체에서 제공하는 phpmyadmin 같은 mysql관리툴에서
    복구가 가능합니다. 복구후 다시 한번 해보세요.

    두번째 포토게시판의 경우에는 디렉토리 퍼미션(쓰기가 되어있어야 합니다) 문제이거나 사용중이신
    호스팅의 용량이 부족해서 그럴 수 있습니다.
    콘솔에서 la -al 명령으로 퍼미션에 w가 있는지 확인해보시기 바랍니다.
    ls -al /home1/subus/public_html/zboard/attach/1 엔터
    만약 디렉토리가 없다고 나오면 /home1/subus/public_html/zboard/ 의 퍼미션을 쓰기 가능하도록
    변경해주셔야 합니다. /home1/subus/public_html/zboard/attach/도 마찬가지입니다.
    제가 볼때는 기존 파일을 복사하고 다시 복사를 하는 프로그램 과정상 호스팅의 용량이 부족해서
    그럴 가능성이 높습니다.

    1. 답변 감사합니다. 시도해보고 다시 문의 드리겠습니다. ^^

  12. 웅파님 거의 다 해결되고 있습니다. 감사감사~

    free 게시판은 서버쪽에 문의하니 euc-kr환경이라고 하는데 근처 글을 삭제해보라고 해서,
    멈춘 변환글 근처 3개글을 지우니 무사히 진행되었습니다.
    photo5 게시판은 attach 폴더를 생성하고 퍼미션 잡아주니 에러는 발생하지 않았습니다.

    다만, 사진이 x박스로 화면에 크기만 잡히고 나오지가 않네요. 혹시 왜 그런지 아시는지요?

  13. 메인에 있는 파일을 보니 파일 자체가 없습니다. 카피가 안된거 같습니다.
    http://subus.byus.net/tattertools102/attach/1/1848461261.jpg –> 404 찾을 수 없습니다.

    제가 웹에서 접속해보니까 tattertools102 디렉토리 밑에 attach 디렉토리가 없습니다.
    mkdir /home1/subus/public_html/tattertools102/attach/
    mkdir /home1/subus/public_html/tattertools102/attach/1
    cp -R /home1/subus/public_html/zboard/attach/1 /home1/subus/public_html/tattertools102/attach/1
    해서 수동으로 복사하시면 될 듯 합니다. ^^

  14. 웅파님 말씀대로 새로 디렉토리 만들어서 수동 복사하니 해결이 되는군요.
    감사합니다. 방금 업데이트까지 다 완료했습니다.
    감사의 마음을 어떻게 표현해야 할지 ^^
    앞으로도 종종 오겠습니다.

  15. 감사는요.. ^^
    태터툴즈의 좋은, 즐거운 기능들 마음껏 사용하세요.

  16. 덕분에 버려뒀던 제로보드 데이터들을 건졌습니다.
    삽질 내역(?)을 트랙백으로 보냈는데 보내지지 않는군요.
    부디 휴지통을 굽어살펴 주시기 바랍니다. -_-;;;;

    1. 네. 무사히 컨버팅 하셨다니 잘됐네요.
      트랙백 보겠습니다. ^^

    2. 위에 팽우님꺼 해결해드리려고

      $tt_path=$_POST[zb_path];
      $zb_path=$_POST[zb_path];

      추가했었는데 어쩐지 이미지 복사가 안되셔서 수동으로
      복사하시라고 알려드렸는데 이런 간단한 버그가 있었군요.
      감사합니다.
      수정해서 올려놔야겠네요

      트랙백은 제 블로그가 이상한건지 걸린게 없습니다.
      타 블로그의 글로 테스트해봐야겠습니다.

    3. 보내지지 않았다고 나와서 포기하면 종종 휴지통에 있다는 답변을 들어서 그러려니 했는데..;
      이 경우는 아예 보내지지 않는 것이로군요.
      티스토리 트랙백 기능에 문제가 있는 것 같습니다. -_-;;;

  17. 현재 티스트리에서 텍스트큐브로의 트랙백이 에러가 납니다.
    이글루스나 텍스트큐브에서의 트랙백은 이상없이 작동합니다.

  18. 결혼 후 경제권 박탈에 따른 호스팅 비용 절감… 이라는 주제로… 제로보드4->테터툴스->티스토리 목표로 한참 삽질 중입니다. 일단 한번 쭈욱 훑어서 잘 옮겨져 왔는데요.. 문제는 제로보드의 그림창고 기능이었습니다…ㅜㅠ

    이게 내용에 링크를 거는 형식이라 안되더라구요. 어떻게 좀 안될까요? ㅜ.,ㅠ

    1. 대략적이라도 에러가 나는 구문과 에러메세지를 올려주시면 도움을 드릴 수 있을 것 같습니다.
      올려주신 내용으로는 제가 어떻게 할 수 있는 것이 없네요. ^^;

    2. 그림창고 검색을 해보니 무슨 말인지 알겠네요.
      http://amen.maru.net/bbs/zboard.php?id=z00&no=68

      이것은 컨버팅할때 본문내용을 직접 바꿔주는 작업을 해야하는데 정규표현식을 써야 가능할거 같네요. 난이도가 좀 있는… ^^;

      일단 본문내용의 소스를 올려줘보세요. 어떤걸 어떻게 바꿔야 할지 봐야 아니까요.

  19. 안녕하세요, 웅파님.
    거의 7년 넘게 제로보드에 축적된 개인 자료들 때문에 tc 사용을 망설이다가 웅파님께서 올려주신 솔루션 덕분에 과감히 이사를 결정했습니다. ^^
    테스트로 게시판을 옮겨봤는데 문의 사항이 있어서 답글 답니다.
    제목과 본문에 들어가는 ‘ 와 ” , 일부 카테고리 내의 한글 단어가 잘 옮겨지지 않더라고요.
    ‘ 와 ” 의 경우에는 html special character 로 변환되어 &#039 나 %27 로 옮겨지길래 zbConversion.php 소스를 봤는데, $memo, $subject 등에 들어있는 &#039 나 %27를 원래 문자로 replace 하는 부분이 있음에도 replace 되지 않고 그대로 옮겨지네요.
    혹시 비슷한 증상에 대한 리포트가 있었는지요..?
    아니면 간단한 팁이라도 부탁드립니다~^^

    1. urldecode 해주시면 처리가 됩니다.
      소스를 보고 다시 글 올리겠습니다.
      특별한 경우라면 소스를 수정할 수 있게 보내드릴께요

    2. $subject = preg_replace(“/\’/”, “‘”, $data[subject]);
      이렇게 처리하는 이유가 db에 들어갈때 에러 방지를 위해서 입니다. 변환하고 DB입력하고 끝입니다.
      다시 변환하는거는 tc에서 보여줄때 처리해야합니다.

      테스트중인 주소라도 알려주시면 보고 말씀드릴 수 있을 것 같습니다.

  20. 안녕하세요, 답변 주셔서 감사합니다.

    이것 저것 해보다가 $memo=html_entity_decode($memo) 이렇게 하니 $memo 내의 html code 중 tag가 제대로 옮겨지는 것을 발견했습니다. 여기서 와~!! 했었는데, 산 넘어 산이라고, 문제는 첨부 파일이 있는 게시물의 경우에 migration이 잘 되지 않더군요.

    기존 제로보드를 운영하는 제 계정의 mysql의 기본 폰트셋이 euc-kr 인데, 여기에 테터툴즈를 깔고 웅파님의 스크립트를 실행하니 첨부 파일이 있는 글에서 에러가 나더군요 (insertAttachement() 함수).
    구체적으로, 본문 글을 가져와서 update를 하는 아래의 sql query입니다.

    @mysql_query(“UPDATE {$dbid}Entries SET content = ‘$content’ WHERE id = $parent”);

    웅파님의 스크립트 자체 에러가 아니라 이것은 제 계정의 mysql 이 euc-kr로 되어있기 때문에 발생하는 현상 같은데, 이런 경우에 어떻게 migration 하는 것이 좋을까요? 다행히 서비스 받고 있는 계정에서 utf-8 지원 서버로 이전이 가능하다고는 합니다만 섣불리 이전했다가 예전 데이터까지 망가뜨리고 싶지는 않아서요..
    웅파 님의 조언 기다리겠습니다. 감사합니다. 🙂

    1. 아래 구문을 mysql_query 전에 삽입하고 테스트해보시기 바랍니다.

      $content = iconvWrapper(‘EUC-KR’,’UTF-8′,$content);

      일반글 옮기는 함수에는 utf-8로 변환하는게 있는데 첨부파일 함수에는 없네요. 제 경우에는 별다른 에러없이 첨부파일도 이동이 됐는데 상황마다 조금씩 틀린거 같습니다. 테스트해보시고 안되시면 mysql 에러를 올려주세요. 위에 팽우님 부분과 비슷한 사항인것 같기도 합니다. ^^;

  21. 코멘트 주신 라인 추가하고 실행해 보았는데도 마찬가지이네요^^;

    원본글 파일정보 업데이트 실패 : UPDATE tt_Entries SET content = ‘

    ?ㅻ끂?곗썡?? 吏? 1?뷀샇 移쇰읆. 諛붿씤??(bindings)?? ??븯? … 이런 식으로 주욱 나오다가 …
    꾩??? ? 寃껋씠?? ?앷컖?쒕떎. ‘ WHERE id = 4 ##### You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ‘?? 諛⑺뼢 ?댄깉’?? ?쒕떎. ?꾨줈 ?댄깉?섎뒗 湲곕뒫?? ?

    라고 나옵니다.
    사용한 소스는 아래와 같고요.

    //print “UPDATE {$dbid}Entries SET content = ‘$content’ WHERE id = $parent”;
    if ( !isUTF8( $content) ) {
    $content = iconvWrapper(‘EUC-KR’,’UTF-8′,$content);
    }
    //$content = html_entity_decode($content,ENT_QUOTES,’UTF-8′);

    $query_ = “UPDATE {$dbid}Entries SET
    content = ‘$content’
    WHERE id = $parent”;
    @mysql_query($query_) or die(“원본글 파일정보 업데이트 실패 : $query_ ##### “.mysql_error());

    아, 정말 예전 자료들이 너무 소중한 것들이라 포기하면 안되는데.. ㅠㅠ
    답변 미리 감사드립니다..! 🙂

    1. mysql에러 내용으로 봐서는 캐릭터셋 문제 같습니다.
      원래 구문으로 돌려놓으시고

      $content = html_entity_decode($content,ENT_QUOTES,’UTF-8′);
      echo $content.”

      “;

      echo로 $content의 내용을 화면에 뿌려보시기 바랍니다. 한글이 제대로 나오는지..

  22. 이런 좋은 툴 만들어 주셔서 감사합니다.

    한가지 질문이 있습니다.

    분류 정보 입력 실패 : Unknown column ‘owner’ in ‘field list’
    라는 에러가 발생합니다.

    살펴보니 owner라는 컬럼을 가진 tc의 table들이 없던데요…

    저는 4.0 pl9 ==> TC 1.7.1 상황입니다.

    그리고 원래 UTF8의 zb를 사용 중이었다면 어떻게 수정해야 하는지도 알려주시면 감사합니다.

    확인 좀 부탁드립니다.

    1. 컨버팅 프로그램의 원저작자는 민재아빠님입니다. 저는 일부 기능 추가와 텍스트큐브 1.0.2 버전으로 컨버팅되도록 수정을 했습니다. ^^
      현재 올라가 있는 프로그램은 제로보드에서 태터툴즈로 컨버팅하는 것입니다. 텍스트규브로 바로는 컨버팅이 안됩니다. 태터툴즈로 컨버팅후 텍스트큐브로 작업하셔야 합니다.

      컨버터소스 열어보니 utf-8에 대한 처리도 되어있습니다. utf-8인지 검사하고 utf-8이 아닐경우 iconv로 바꾸도록 되어있습니다. 그 부분은 그냥 진행하셔도 됩니다.

  23. 안녕하세요.
    검색하다가 여기까지 들어오게 되었습니다.
    제로보드에서 티스토리를 옮기려고 작업중인데..
    다 문제없이 됩니다만, 컨버팅 된 xml 데이터가 글자가 죄다 깨집니다.
    xml로 만들기 전에 테터로 변환되는 순간부터 테터페이지에서도 깨지고 관리자 화면에서도 깨집니다.
    컨버팅 툴에서 제목 목록 죽- 나올때는 정상적으로 나오고요.
    좀 찾아보니 아무래도 원래 계정이 천리안 홈타운인데 여기은 인코딩을 euc-kr로 하는 것 같고 테터는 uft-8이어서 생기는 문제 같은데요..글자가 깨져서 나오는 것 말고는 복원도, 이전도 잘 됩니다ㅠ (실헙으로 올려봤는데 깨진 글자 그대로 티스토리에 잘 올라가더라구요ㅜ) 관련 글도 다 찾아보고 여기 답글도 열심히 읽어 보았지만 제가 개발자가 아닌지라 전문적인 지식이 없어 힘이 듭니다. 또 이런 경우 어떻게 해야 하는지 해결책도 딱히 못 찾겠구요. 정말 제게 소중한 자료들이라 ..정말 지푸라기 잡는 심정으로 여기에 글 남겨 봅니다. ㅠㅠ
    (지금 테터 설치하면서 제로보드 DB도 뭐가 건들여졌는지 DB접근 불가라서..url도 못 남기겠네요..흑흑)

    1. 컨버팅한 태터 주소를 알려주셔야 할 것 같습니다.

      db에 들어갈때 문제인지, 단순히 화면 캐릭터셋의 문제인지 판단하기 위해서입니다.

    2. 관리자화면에서 화면 전체의 글이 깨지는건가요?
      아니면 글수정 이런곳에서 글 내용만 깨지는건가요?

  24. 제로보드에서 tt1.0.2로 옮길때요, 사진은 같이 안옮겨지는거지요?
    텍스트는 옮겨졌는데, 사진이 링크로만 옮겨졌네요. 후…
    수동으로 해야하는건지… 많은데 고민이네요.
    여기까지도.. 감사합니다.

    1. 아래에 동일한 내용이 있습니다.
      아래 내용 참고하셔서 수동으로 복사해주시면 됩니다.

      팽우 2008/12/16 14:10 address modify / delete reply
      웅파님 거의 다 해결되고 있습니다. 감사감사~

      free 게시판은 서버쪽에 문의하니 euc-kr환경이라고 하는데 근처 글을 삭제해보라고 해서,
      멈춘 변환글 근처 3개글을 지우니 무사히 진행되었습니다.
      photo5 게시판은 attach 폴더를 생성하고 퍼미션 잡아주니 에러는 발생하지 않았습니다.

      다만, 사진이 x박스로 화면에 크기만 잡히고 나오지가 않네요. 혹시 왜 그런지 아시는지요?

      메인에 있는 파일을 보니 파일 자체가 없습니다. 카피가 안된거 같습니다.
      http://subus.byus.net/tattertools102/a ··· 1261.jpg –> 404 찾을 수 없습니다.

      제가 웹에서 접속해보니까 tattertools102 디렉토리 밑에 attach 디렉토리가 없습니다.
      mkdir /home1/subus/public_html/tattertools102/attach/
      mkdir /home1/subus/public_html/tattertools102/attach/1
      cp -R /home1/subus/public_html/zboard/attach/1 /home1/subus/public_html/tattertools102/attach/1
      해서 수동으로 복사하시면 될 듯 합니다. ^^

  25. 좋은 툴 잘쓰고 있습니다. 감사합니다
    1.7.5 까지는 그럭저럭 잘 구현됐는데 1.7.6 버전부터 카테고리 하나가 말썽입니다
    문제되는 카테고리는 news05 인데 클릭하면 페이지가 아무것도 표시되지 않습니다
    데이터는 살아있느것 같은데 무슨 문제 일까요?
    옮긴 곳은 이곳 입니다 http://greenkorea.org/tc/activity/

    1. 1.7.5버전까지는 news05 디렉토리가 정상적으로 표시가 되는지요? 1.7.5 까지 이상이 없으시면 1.8.X 대 버전으로 올리시구요. 버전업 하시기 전에 데이터 백업하시구요. 그리고 admin툴로 들어가시면 설정 – 데이터 관리 – 교정, 최적화를 해보시기 바랍니다.

  26. 안녕하세요 웅파님
    며칠간 삽질을 하다가 더이상 저혼자 어찌할수가 없어서 ㅜㅜ 도움요청 드립니다.
    저도 여기 밑에있는 sson 님과 거의 똑같은 증상인데요,

    다 문제없이 됩니다만, 컨버팅 된 xml 데이터가 글자가 죄다 깨집니다.
    xml로 만들기 전에 테터로 변환되는 순간부터 테터페이지에서도 깨지고 관리자 화면에서도 깨집니다.
    컨버팅 툴에서 제목 목록 죽- 나올때는 정상적으로 나오고요, 그 뒤에 테터에서부터 한글이 깨집니다.
    영어랑 숫자는 괜찮은데 한글만 깨지네요.

    어떻게 해야할지 좀 봐주실 수 있나요?
    부탁드려요ㅜㅜ

    1. 카페24의 캐릭터셋과 db의 캐릭터셋을 알려주세요. 그럼 바로 해결가능합니다

      cafe24의 db캐릭터셋이 euc_kr일 가능성이 높네요.

      tt컨버터의 역할은 euc_kr로 되어있는 내용을 utf-8로 변환하여 db에 넣어주는 역할을 합니다.

      zbConversion.php의 50번 라인 iconWrapper 함수가 변환하는 역할을 하는데 iconv함수가 있다면 iconv로 컨버팅, mb_convert_encoding함수가 있다면 그걸로 컨버팅, 그것도 없다면 iconv.php를 include해서 그 안의 함수를 사용한다는 것인데

      cae24에서 iconv와 mb_convert_encoding함수를 지원하는지 알아보시기 바랍니다.

  27. 헉 바로 해결가능하다니 ㅠㅠㅠ 와아 너무 감사합니다

    cafe24에서 iconv와 mb_convert_encoding함수를 지원한다고 합니다
    그리고 cafe24의 db캐릭터셋도 euc_kr인 것 같습니다… 잘 모르겠어서 캡쳐해서 올려요
    http://pds20.egloos.com/pds/201104/26/75/f0031775_4db6761790c91.jpg

    이제 어떡해야하나요??

    1. db 캐릭터셋이 euc-kr이네요. 텍스트큐브(태터툴즈)는 기본적으로 utf-8입니다. 소스를 수정하여 utf-8로 변호ㅓ수정하지 않고 db에 입력하거나 db 불러올때 set names euc_kr;을 넣어주거나 해야할 것같습니다

  28. 와 해결했습니다!!
    웹언어같은건 전혀 모르기때문에 사실 댓글도 잘 이해를 못했는데요;;
    zbConversion.php 파일에서 utf-8을 전부 euc_kr로 바꿔넣었어요
    (이렇게 하라고 하신거 맞나요? ㅎㅎ)
    정말 너무너무 감사합니다
    ‘글 하나하나 수동이사를 해야하나’ 까지 생각했었는데 ㅜㅜ
    귀찮게 해드린것같아 죄송하네요
    감사해요!!!

    1. 네. 그렇게 하셔도 되고 주석처리하셔도 됩니다.
      잘 해결되셨다니 다행입니다. ^^

  29. 제가 이번에 홈을 옮기려고 이 프로그램을 설치하고 실행해봤는데, euc_kr로 바꾸면 아예 글이 안나오고 utf-8로 하면 외계어가 막 나오네요..ㅜㅜ 제로보드 버전이 4.1 pl8이긴 한데 이것 때문인가요?

    1. 기존 db 캐릭터셋과 새 db 캐릭터셋을 알려주셔야 합니다.

      바로 위에 pulpul님과 비슷한 케이스라고 생각이 됩니다.
      pulpul님이 하신 것처럼 소스를 바꿔서 해보세요.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다