====== MTWeatherJPを導入する(MT3.2編) ====== ====== 修正が必要な点について ====== ===== 文字コード判定 ===== [[http://www.drk7.jp/MT/archives/000882.html|MTWeatherJP]]は、MT::ConfigMgrから自動的に利用している文字コードを取得するが、3.2より前と3.2以降とで、返される文字列が微妙に異なっている。具体的には、どうもすべからくlower caseで返るようなのだ。従って、EUC-JPやShift_JIS、ISO-2022-JPやUTF-8を期待している、[[http://www.drk7.jp/MT/archives/000882.html|MTWeatherJP]]は、マッチングに失敗して、全てを utf-8だとみなして処理する。 偶然、utf-8を文字コードセットとして利用している場合には問題にはならないが、そうではない場合には次のように、MTWeatherJP.plを修正する。 オリジナルはこのようであるのを、 371: my $cfg = MT::ConfigMgr->instance; 372: $args->{ie} = {'Shift_JIS' =>'sjis', 373: 'ISO-2022-JP' =>'jis', 374: 'EUC-JP' => 'euc', 375: 'UTF-8' =>'utf8'}->{$cfg->PublishCharset} || 'utf8' 以下のように修正する。 371: my $cfg = MT::ConfigMgr->instance; 372: $args->{ie} = {'SHIFT_JIS' =>'sjis', 373: 'ISO-2022-JP' =>'jis', 374: 'EUC-JP' => 'euc', 375: 'UTF-8' =>'utf8'}->{uc($cfg->PublishCharset)} || 'utf8' マッチングを全て大文字で取るようにすることで、MT3.1x以前とMT3.2以降のどちらでも動くようにしてあるつもりである。 [[MovableTypeに関して]]へ戻る。