좌측 사진 : 티스토리에서 텍스트큐브주소로 트랙백 보내기 우측 사진 : 글 작성시 에러 화면(티스토리)
텍스트큐브에서 티스토리나 네이버, 내부로 트랙백을 보내는 경우는 문제가 없습니다. 문제는 외부에서 텍스트큐브로 트랙백을 보낼때입니다. 제가 작성한 제로보드->태터툴즈 컨버터 글로 컨버팅을 하신 분이 트랙백을 보내셨다는데 휴지통이나 어디에도 내용이 남아있지 않아서 테스트를 해봤는데 현재 확인한 바로는 티스토리에서 텍스트큐브로 트랙백을 보낼 수 없습니다. 글 작성시 에러가 납니다.
텍스트큐브의 문제는 아닌 것 같습니다. 이글루스에서는 정상적으로 들어오고 텍스트큐브에서도 정상적으로 들어옵니다. 티스토리에서 해결해야할 문제인듯 합니다.
그리고 텍스트큐브에서 네이버 블로그로 트랙백 보낼 경우 문자셋이 깨져서 나옵니다. 네이버는 오로지 EUC_KR이죠. 받는 쪽이든 보내는 쪽이든 문자셋 확인후 서로 틀릴 경우 문자셋 변환을 시키면 될텐데 기본적인 것을 간과하네요.
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로 완료한지 일주일이 넘었는데 아무 문제없이 사용중입니다.
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로 들어간 것 같네요.
전에 쓰시던 제로보드 버전이 어떻게 되시는지요?
그리고 mysql_query("set names utf8"); 이 부분은 설치된 테터툴즈 안에 삽입해야합니다.
서버의 mysql 문자셋이 utf8이라서 그렇네요. 컨버터 프로그램 소스를 봐야 정확히 알겠지만 제가 사용중인 서버는
예전 서버라 mysql이 euc-kr입니다. 그래서 컨버팅후 웹관리툴에서 보면 데이터가 깨진것으로 보이지만 테터에서는
이상없이 나옵니다. 아마 나그네님의 경우는 데이터가 euc-kr로 들어간 것 같습니다.
소스를 보니 글내용이 utf8인지 조사해서 utf8이 아닐 경우만 변환하도록 되어있어서 그 문제는 아닌 것 같구요.
나그네님의 제로보드 버전하고 phpmyadmin 같은 mysql웹관리툴로 db를 열어봤을때 글이 깨져나오는지 여부를
알면 해결가능할 것 같습니다.
헉. 테터 초기버전은 살짝 개판이네요. 사실 mysql_connect를 저렇게 많이 할 필요가 없는데.. ^^;
제가 예제로 올렸던 것은 텍스트큐브 1.7.1이라.. 대충 보니
blog/index.php:331:mysql_connect($database['server'],$database['username'],$database['password']);
이 파일에 332 줄에 삽입하시면 될것 같습니다.
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/도 마찬가지입니다.
제가 볼때는 기존 파일을 복사하고 다시 복사를 하는 프로그램 과정상 호스팅의 용량이 부족해서
그럴 가능성이 높습니다.
안녕하세요, 웅파님.
거의 7년 넘게 제로보드에 축적된 개인 자료들 때문에 tc 사용을 망설이다가 웅파님께서 올려주신 솔루션 덕분에 과감히 이사를 결정했습니다. ^^
테스트로 게시판을 옮겨봤는데 문의 사항이 있어서 답글 답니다.
제목과 본문에 들어가는 ' 와 " , 일부 카테고리 내의 한글 단어가 잘 옮겨지지 않더라고요.
' 와 " 의 경우에는 html special character 로 변환되어 ' 나 %27 로 옮겨지길래 zbConversion.php 소스를 봤는데, $memo, $subject 등에 들어있는 ' 나 %27를 원래 문자로 replace 하는 부분이 있음에도 replace 되지 않고 그대로 옮겨지네요.
혹시 비슷한 증상에 대한 리포트가 있었는지요..?
아니면 간단한 팁이라도 부탁드립니다~^^
이것 저것 해보다가 $memo=html_entity_decode($memo) 이렇게 하니 $memo 내의 html code 중 <img> 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 지원 서버로 이전이 가능하다고는 합니다만 섣불리 이전했다가 예전 데이터까지 망가뜨리고 싶지는 않아서요..
웅파 님의 조언 기다리겠습니다. 감사합니다. :)
일반글 옮기는 함수에는 utf-8로 변환하는게 있는데 첨부파일 함수에는 없네요. 제 경우에는 별다른 에러없이 첨부파일도 이동이 됐는데 상황마다 조금씩 틀린거 같습니다. 테스트해보시고 안되시면 mysql 에러를 올려주세요. 위에 팽우님 부분과 비슷한 사항인것 같기도 합니다. ^^;
원본글 파일정보 업데이트 실패 : 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.0.2 버전으로 컨버팅되도록 수정을 했습니다. ^^
현재 올라가 있는 프로그램은 제로보드에서 태터툴즈로 컨버팅하는 것입니다. 텍스트규브로 바로는 컨버팅이 안됩니다. 태터툴즈로 컨버팅후 텍스트큐브로 작업하셔야 합니다.
컨버터소스 열어보니 utf-8에 대한 처리도 되어있습니다. utf-8인지 검사하고 utf-8이 아닐경우 iconv로 바꾸도록 되어있습니다. 그 부분은 그냥 진행하셔도 됩니다.
안녕하세요.
검색하다가 여기까지 들어오게 되었습니다.
제로보드에서 티스토리를 옮기려고 작업중인데..
다 문제없이 됩니다만, 컨버팅 된 xml 데이터가 글자가 죄다 깨집니다.
xml로 만들기 전에 테터로 변환되는 순간부터 테터페이지에서도 깨지고 관리자 화면에서도 깨집니다.
컨버팅 툴에서 제목 목록 죽- 나올때는 정상적으로 나오고요.
좀 찾아보니 아무래도 원래 계정이 천리안 홈타운인데 여기은 인코딩을 euc-kr로 하는 것 같고 테터는 uft-8이어서 생기는 문제 같은데요..글자가 깨져서 나오는 것 말고는 복원도, 이전도 잘 됩니다ㅠ (실헙으로 올려봤는데 깨진 글자 그대로 티스토리에 잘 올라가더라구요ㅜ) 관련 글도 다 찾아보고 여기 답글도 열심히 읽어 보았지만 제가 개발자가 아닌지라 전문적인 지식이 없어 힘이 듭니다. 또 이런 경우 어떻게 해야 하는지 해결책도 딱히 못 찾겠구요. 정말 제게 소중한 자료들이라 ..정말 지푸라기 잡는 심정으로 여기에 글 남겨 봅니다. ㅠㅠ
(지금 테터 설치하면서 제로보드 DB도 뭐가 건들여졌는지 DB접근 불가라서..url도 못 남기겠네요..흑흑)
좋은 툴 잘쓰고 있습니다. 감사합니다
1.7.5 까지는 그럭저럭 잘 구현됐는데 1.7.6 버전부터 카테고리 하나가 말썽입니다
문제되는 카테고리는 news05 인데 클릭하면 페이지가 아무것도 표시되지 않습니다
데이터는 살아있느것 같은데 무슨 문제 일까요?
옮긴 곳은 이곳 입니다 http://greenkorea.org/tc/activity/
1.7.5버전까지는 news05 디렉토리가 정상적으로 표시가 되는지요? 1.7.5 까지 이상이 없으시면 1.8.X 대 버전으로 올리시구요. 버전업 하시기 전에 데이터 백업하시구요. 그리고 admin툴로 들어가시면 설정 - 데이터 관리 - 교정, 최적화를 해보시기 바랍니다.
안녕하세요 웅파님
며칠간 삽질을 하다가 더이상 저혼자 어찌할수가 없어서 ㅜㅜ 도움요청 드립니다.
저도 여기 밑에있는 sson 님과 거의 똑같은 증상인데요,
다 문제없이 됩니다만, 컨버팅 된 xml 데이터가 글자가 죄다 깨집니다.
xml로 만들기 전에 테터로 변환되는 순간부터 테터페이지에서도 깨지고 관리자 화면에서도 깨집니다.
컨버팅 툴에서 제목 목록 죽- 나올때는 정상적으로 나오고요, 그 뒤에 테터에서부터 한글이 깨집니다.
영어랑 숫자는 괜찮은데 한글만 깨지네요.
tt컨버터의 역할은 euc_kr로 되어있는 내용을 utf-8로 변환하여 db에 넣어주는 역할을 합니다.
zbConversion.php의 50번 라인 iconWrapper 함수가 변환하는 역할을 하는데 iconv함수가 있다면 iconv로 컨버팅, mb_convert_encoding함수가 있다면 그걸로 컨버팅, 그것도 없다면 iconv.php를 include해서 그 안의 함수를 사용한다는 것인데
와 해결했습니다!!
웹언어같은건 전혀 모르기때문에 사실 댓글도 잘 이해를 못했는데요;;
zbConversion.php 파일에서 utf-8을 전부 euc_kr로 바꿔넣었어요
(이렇게 하라고 하신거 맞나요? ㅎㅎ)
정말 너무너무 감사합니다
'글 하나하나 수동이사를 해야하나' 까지 생각했었는데 ㅜㅜ
귀찮게 해드린것같아 죄송하네요
감사해요!!!
댓글을 달아 주세요
티스토리에서 트랙백문제 해결했다는 글을 봤는데 여전히 티스토리에서의 트랙백은 에러상태...
내가 호스팅중인 cafe24가 이상한가? ^^;
지금은 티스토리로 트랙백 보내기도 안되네요. ㅋㅋㅋ
7일만 해도 보내기는 됐는데.. 뭘 수정했는지 보내는 것도 안되고 티스토리에서 받는 것도 안되고..
관리자만 볼 수 있는 댓글입니다.
흠.. 전 여전히 안되네요.
chongmu.tistory.com 에서 보내면 위 사진과 동일한 에러가 발생합니다.