あっち方面の仕事で、レンタルサーバにMovable Typeをインストールしてみた。
借りているレンタルサーバで、データベースにMySQLを指定。ひとつは商品データベースに使用しているので、それとは別にデータベースをもうひとつ追加し、Movable Typeをインストール。
最初にひっかかったのが、データベースの追加後、新しいユーザ名・パスワードが何なのかよくわからなくなったこと。結果的に初期値だったのが、データベース作成が反映されるまで少々時間がかかったため正しくないように思えただけだった。一晩待てば何も問題なくインストール完了。
ところが、Movable Typeの設定で日本語を受け付けない。日本語がばっさり落とされてしまう。アルファベット+日本語(ASCII+2バイト)の文字列だと最初のアルファベットだけが反映され、日本語の後にASCII文字があっても全て消えていた。
調べてみると、Movable Typeのこういった設定内容はMySQLにテーブルを作って保存してあるようだ。となると、Movable Typeが悪いのか、MySQLが悪いのか、切り分ける必要がある。
これは心当たりがあって、商品データベースへの日本語の入力がどうしてもうまくいかず、仕方なくURLエンコードした日本語を載せている。つまり、MySQL側の問題だということが推測できる。
さて、それでは対策は?Movable Typeを改造する必要があるのか?ソースはあるのでできなくもないだろうが、あほらしい。
よくよく調べてみると、どうやら借りているサーバは何百台かあるうちのひとつだが、ほんの数台だけMySQLのバージョンが古いらしく、UTF-8の日本語書き込みがうまくいかないようだ。商品データベースのときはShift_JISだったので、多分Shift_JISもダメなんだろう。で、EUC-JPだとOKということで、mt-config.cgiのPublishCharsetをEUC-JPにしたらうまくいった。
ちなみに、このせいでテンプレートも正常に反映されていなかったようなので、Movable Typeが作成したテーブルを一旦全て削除して、もう一度mt.cgiを呼び出し、インストールを再開した。全てがうまくいった。とても簡単にできている。これなら、livedoorなんかでブログを作るより、レンタルサーバを借りてブログを作った方が何かと面白いことができそうだ。カテゴリもサブカテゴリとか作れるみたいだし。
今回はちょっと個人用無料版をお試しで入れてみたが、本格運用の際は一応商用ってことでライセンスを買わないといけない。でも、これなら簡単にできそうだ。