mtweatherjp_を導入する_mt3.2編
MTWeatherJPを導入する(MT3.2編)
修正が必要な点について
文字コード判定
MTWeatherJPは、MT::ConfigMgrから自動的に利用している文字コードを取得するが、3.2より前と3.2以降とで、返される文字列が微妙に異なっている。具体的には、どうもすべからくlower caseで返るようなのだ。従って、EUC-JPやShift_JIS、ISO-2022-JPやUTF-8を期待している、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に関してへ戻る。
mtweatherjp_を導入する_mt3.2編.txt · 最終更新: 2015/04/10 08:27 by 127.0.0.1