1

주제: 0.96x -> 1.0x 이전중 NCR코드 문자 변환에 관하여..

안녕하세요.

몇주째 혼자 풀리지 않아 함께 나눠볼까 하는 생각으로 글 올려봅니다.

저와 상당히 친한 지인분 중 한분에게 테터툴즈를 소개시켜드렸고,
무척 만족하며 사용하고 계십니다.

평소에 일본문화에 관심이 많으신분이라 포스팅을 꽤 열심히 하셨고
현재는 순수 텍스트 용량만 3M를 넘어가는 엄청난 블로그가 되었습니다.

최근 일련의 무더기 스팸공격의 문제도 있었고..
일본문화에 관련된 블로그다 보니 자연스럽게 일본인 방문객도 생기구요
댓글이나 트랙백을 주고 받는 일도 종종 생기더군요.

그래서 1.0x버전으로 이주를 결정하고 차근차근 준비를 해 나갔습니다.

여기서 큰 걸림돌이 하나 생겼는데 바로 NCR 문자 처리가 불가능하다..는 겁니다.

무슨 이야기인가 하면,

국내에서 사용하는 한자와 일본식 한자는 서로 다르다는것은 알고 계실꺼구요.
그것을 예전방식인 EUC_KR테이블에서는 구현할 수 없다보니..
저장될때 彀..이런식으로 NCR코드로 변경되어 저장되어집니다.

이 글들을 migrator.php를 사용하여 XML파일로 받게 되면 htmlspecialchars 함수의 농간으로인하여
&24384;..이런식으로 변형됩니다.

당연히, 이주를 마친뒤에는 일본식 한자 모두 NCR코드로 보여지게 됩니다.

여러가지 방법을 동원하여 보았지만, 원래의 글자를 살려내지를 못하고 있습니다.
위에도 말씀드렸다시피 새로글을 쓴다거나 글자를 수정한다는 작업은 엄두도 내지 못하고 있구요.

방법이 없을까요? 조그마한 의견이라도 큰 도움이 될지 모르니 조그마한 생각이라도 나눠주셨으면 감사하겠습니다.

2

답글: 0.96x -> 1.0x 이전중 NCR코드 문자 변환에 관하여..

1.0 클래식 (1.0 정식이 아닌 다른 버전입니다) 으로의 업데이트도 되지 않나요? 백업해 놓으시고 1.0 클래식으로 일단 버전업을 하여 결과를 알려주세요^^

1.0 클래식으로 올리면 중간과정에서 UTF8처리를 해줍니다.

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

3

답글: 0.96x -> 1.0x 이전중 NCR코드 문자 변환에 관하여..

0.96에서 먼저 태터툴즈 클래식으로의 업테이트를 해 주시고, 그 후에 1.0 으로 갈아타시는 방법으로 해 보신 후에
그래도 안된다면 다시 알려 주세요.
클래식은 아래의 링크에서 받으시면 되겠습니다.

http://www.tattertools.com/tatter_tools … elease.zip

현재 사용중인 서버 세팅 - Apache 2.2.3 / mysql 5.0.24 / php 5.1.6
메인블로그 - http://sumomo.tistory.com/
스킨블로그 - http://mamoru.homeip.net/skin/

4

답글: 0.96x -> 1.0x 이전중 NCR코드 문자 변환에 관하여..

답글달아주신 분들께 감사의 말씀 드립니다.

주말에 우선 두분께서 알려주신 방법으로 시도해보고
결과를 다시 포스팅 하도록 하겠습니다.

5

답글: 0.96x -> 1.0x 이전중 NCR코드 문자 변환에 관하여..

주말에 짬을 내어 실행 해보았습니다.

우선, 0.9x -> Official Classic으로의 이주는 잘 됩니다.
유니코드 문자로의 표시도 문제가 없습니다.
(물론, DB백업등을 해보면 NCR코드 문자에 변화는 없습니다.)

이 상태에서 migrator.php를 사용하여  XML파일을 만들경우 NCR코드의 포함된 &문자가 &으로 변경되는
문제는 여전합니다.(이것은 php내부 함수중 htmlspeacialchar함수 문제인걸로 알고 있습니다.)

또한 이 파일을 이용하여 1.0x버전으로 복원을 할 경우에도 역시나 NCR코드는 깨집니다.

결국, 중간에 클래식 버전으로 마이그레이션 단계가 추가된다고 하여도
만들어낸 XML파일은 차이가 없다는 이야기입니다.

(이것저것 방법을 다 해봤지만, 결과는 계속 같습니다.)

혹시나 제가 원하는 결과물의 차이를 보고 싶으시다면
http://www.myspitz.com/tt/index.php  -> 현재 1.0클래식 버전 가동중
http://www/myspitz.com/tt_new/ -> 현재 1.06버전 가동중

위의 두 경로를 참조 바랍니다.