2007年8月28日

movable type 4.0 へアップグレード

先日リリースされたmovable type 4.0へアップグレードしました。
アップグレード方法については色々な所で紹介されていると思うので其方を参照してください。私がアップグレードしたところ、アップグレード後のシステム画面は何故か英語、更にログアウト→ログイン時に次のエラーが出る様になってしまいました。
Can't locate object method "lowercase_jcode" via package "MT::I18N::en_us" at lib/MT/I18N/default.pm line 106.
Webで調べても類似のエラーが見当たらず途方に暮れていたのですが、どうやら言語設定関連らしい。ディフォルト言語は日本語にしているにも関わらず、英語のパッケージを使用しているみたい。phpMyAdminにてデータベースを眺めていると、mt_authorテーブルのauthor_preferred_languageがNULLになっていました。値をjaに変更したところ無事解決。よかったよかった。
ついでにうざかったスパムコメントも以下のSQLで駆除しました。
DELETE
FROM `mt_comment`
WHERE LENGTH( comment_text ) = CHAR_LENGTH( comment_text )
これは全てのスパムコメントの内容が英語オンリーであることが前提です。コメントが日本語で書かれている場合は削除されません。 誤解を招く説明だったので訂正します。当サイトでのSPAMコメントは100%英語(1バイト文字)となっています。上記SQLでは1バイト文字で書かれた(SPAMである/ないに関わらず)全てのコメントを削除しますのでご注意下さい。