I18Nプラグインでテンプレートエラー

 

突然、エラーが出た。

Can't locate object method "shift-jis" via package "Jcode" (perhaps you forgot to load "Jcode"?) at lib/MT/I18N/ja.pm line 93.

 

しかし、原因がまったく分からない。なぜなら、納品用のサイトをごっそりと開発環境から先方のサーバーにDBコピーしただけで、内容が同じ開発環境ではエラーが出なかったからだ。もちろん、プラグインもすべて同じ。

そこで、ひと晩寝かせて、mtを全部、再インストール。おまけに、プラグインも全部入れなおし。これで、開発環境と納品先の環境はまったく同じになった。

それでもエラーが出る・・・で、なんとなく分かってきたのは、I18Nプラグインで、utf-8をsjisに変換しているテンプレートでエラーが出ているということ。

I18Nプラグインは、ogawaさんが開発したプラグインで、utf-8環境とかでs-jisのhtml出力したいときとかの文字コード変換をしてくれる。すばらしい!

だが、テンプレートで問題になるのは、開発環境と納品先環境で見比べても、まったく同じ。エラーになりようがない。

が、よく見ると?な箇所があった。

<MTEncodeText from="utf-8" to "shift-jis">

shift_jisじゃね?と思って、「-(ハイフン)」を「_(アンダースコア)」に直して再構築すると、直った・・・。
なんで、エラーが出る環境と出ない環境があるのか? あ、サーバー違った!

文字コードの表記にご用心。

<MTEncodeText from="utf-8" to "shift_jis">

ps.ブログのコメントでは、「sjis, shift_jis, euc-jp, euc, utf-8, utf8」と書かれてました(^^;

 


Index of all entries

Feeds
About

supported by TOGORU

Return to page top