====== 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に関して]]へ戻る。