대부분의 블로그 서비스가 트랙백 표준을 지키지 않고, EUC-KR 트랙백에 의존하고 있어서 MT로 트랙백을 보내는 데에 애로사항이 있다. 물론, Gratia님의 트랙백 패치도 있지만, 패치 자체가 복잡해서 귀찮은 나머지, 그냥 euc-kr로 보내도록 수정해버렸다. charset을 적절히 설정해주는 한 트랙백 표준 1.2에 위배되는 것은 아니니까… 그리고, UTF-8을 지원하는 블로그 구현이라면, 트랙백 표준도 제대로 구현하고 있을거야, 라는 약간은 안일한 가정. 다음 코드는 MT/lib/MT.pm의 수정사항.
의도한 것은 아닌데, 어쩌다보니 마루타가 되어버린, 젊은 거장님과 윗치님, 그리고 묵형에게 심심한 사과의 말씀을 드려야겠다. (사실 묵형쪽은 의도적으로 테스트한 것이다!)
## Build query string to be sent on each ping. my @qs; # BEGIN trackback patch by Joseph Jang #push @qs, 'title=' . MT::Util::encode_url($entry->title); #push @qs, 'url=' . MT::Util::encode_url($entry->permalink); #push @qs, 'excerpt=' . MT::Util::encode_url($entry->get_excerpt); #push @qs, 'blog_name=' . MT::Util::encode_url($blog->name); use Encode; push @qs, 'title=' . MT::Util::encode_url(Encode::encode("euc-kr", Encode::decode("utf-8", $entry->title))); push @qs, 'url=' . MT::Util::encode_url(Encode::encode("euc-kr", Encode::decode("utf-8", $entry->permalink))); push @qs, 'excerpt=' . MT::Util::encode_url(Encode::encode("euc-kr", Encode::decode("utf-8", $entry->get_excerpt))); push @qs, 'blog_name=' . MT::Util::encode_url(Encode::encode("euc-kr", Encode::decode("utf-8", $blog->name))); #END my $qs = join '&', @qs; #$qs = Encode::encode("euc-kr", Encode::decode("utf-8", $qs)); ## Character encoding--best guess. Default to iso-8859-1, just as we ## do in MT::Template::Context::_hdlr_publish_charset. # BEGIN trackback patch by Joseph Jang #my $enc = $mt->{cfg}->PublishCharset || 'iso-8859-1'; my $enc = "euc-kr"; #END
괜찮소