ユーザ用ツール

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

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information