June 10, 2003

TrackBack文字化け対策

TrackBack文字化け対策についてちょいとメモ。

milanoさんのサイトから勝手部分引用。全文はこちらを参照。
http://rebecca.ac/milano/mt/archives/000063.html

--引用--
日本のMovableType界には3種類の文字コードで動作しているMovableTypeがそれぞれ存在しているわけで、Shift_JISのサイトからEUC-JPのサイトにTrackBackしたり、EUC-JPのサイトからUTF-8のサイトにTrackBackしたりすると文字化けが発生してしまうわけです。
その文字化けを強引に解消する方法を考えました。

mt.cgiが存在する場所から見て、
./lib/MT/App/TrackBack.pmを開きます。
最新の2.51だと53行目からの「no_utf8」というサブルーチンを以下のように書き換えます。

Jcode.pmがインストールされている場合
sub no_utf8 {
require Jcode;
for (@_) {
next if !defined $_;
$_ = pack 'C0A*', $_;
$_ = Jcode->new($_)->euc;
}
}

Jcode.pmがインストールされていない場合(UTF-8からのTrackBackには対応できません)
sub no_utf8 {
require 'jcode.pl';
for (@_) {
next if !defined $_;
$_ = pack 'C0A*', $_;
$_ = jcode::euc($_);
}
}
Jcode.pmがインストールされていない場合、mt.cgiのあるディレクトリに、jcode.plをアップロードしておきます。

これで、EUC-JP以外の文字コードでTrackBackのデータが送られてきても、EUC-JPに変換してくれるはずです。
なんでもいいので、自分のサイトのTrackBack受け入れのURL(たとえばウチならhttp://rebecca.ac/cgi-bin/mt/mt-tb.cgi/3 とか)にブラウザで直接アクセスしてみましょう。
そこで、
Need a Source URL (url).
とか出てきたらたぶんうまくいきます。
An error occurred:
とか出てきたら何かが間違っています。

なお、jcode.plはUTF-8には対応していないので、なるべくならJcode.pmを使用することをオススメします。

Posted by 門番 at June 10, 2003 04:51 PM | トラックバック

Trackback on "TrackBack文字化け対策"

このエントリーのトラックバックURL: 

"TrackBack文字化け対策"へのトラックバックはまだありません。

Comment on "TrackBack文字化け対策"

"TrackBack文字化け対策"へのコメントはまだありません。

Post a Comment

コメントする

さんのTypeKeyへのサインインを確認しました。 コメントをどうぞ。

(HTMLタグは使用できません)
ブラウザに投稿者情報を登録しますか?(Cookieを使用します。次回書き込み時に便利です。)
  •  
  •