早速……

  • 投稿日:
  • by
  • カテゴリ:

早速、調整の必要が発生しました。
MTWeatherのところで、リビルドに失敗するようになってしまいました。原因は、charsetの処理部分。MTWeatherは、'EUC-JP'と全部大文字で来ることを想定しているのに、MT::ConfigMgrが返すそれが、小文字になってしまっているようです。
(ちなみに、IANAの定める文字コードセットを表す記号としては'EUC-JP'が正しいが、MT内部が必ずしもそれに従う必要はない。)

従って、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'
このようにすることで、マッチングがcase insensitiveになり、問題がなくなります。