Movable Typeでデータベースの文字化け


ブログに設置した検索窓で検索をすると、エラーが表示された。 テンプレートのエラーなのだが、文字化けをしているようだ。どのテンプレートでエラーなのかも分からない。 管理画面にアクセスをしてみると驚いた...

Posted by  on

Movable Typeでデータベースの文字化け

スクリーンショット 2014-06-18 23.48.10.png

ブログに設置した検索窓で検索をすると、エラーが表示された。

テンプレートのエラーなのだが、文字化けをしているようだ。どのテンプレートでエラーなのかも分からない。

管理画面にアクセスをしてみると驚いた。すべての記事が文字化けをしてしまっている。

2014-06-18-10-00.jpg

実は、同じような状況を経験している。Movable Typeを4.1から4.2にアップデートしたときに、データベースが文字化けたことがあるのだ。それから、怖い部分もあって、このブログは4.25で止まったままだったりする。

ただ、いつまでも古いバージョンではマズいなと重い腰を上げ、MT6にアップデートをしようとは思っていた。なので、幸い記事のバックアップはとっていた。今月の話だ。

なので、今月の頭には、このような状況ではなかったはずだ。その後も特に設定を変更したり、大きなカスタマイズをした記憶がない。記憶がないだけかもしれないが。

mt.config.cgiを確認する

思えば、記事のバックアップをとった後、phpMyAdminでデータベースのバックアップを試みたかもしれない。そのとき、データが大きすぎて、すぐにバックアップがとれなかったので、そこで中断した気もする。そのときに何かしてしまったか。

phpMyAdminで見てみる前に、FTPで接続して、Movable Typeの設定ファイルである「 mt.config.cgi」を確認する。すると、見かけない1文がある。

SQLSetNames 0
データベースへのアクセスする際にクライアント側ライブラリで利用する文字コードを PublishCharset にあわせるための設定です。値が 1 の場合、PublishCharset の設定値をもとに、データベースにアクセスする際の文字コードが指定されます。

0に設定してある。わざわざPublishCharset に合わせない設定となっている。なぜだ。この値を1にしてみると、文字化けはあっさり直った。

もしかしたら、他のMovable Typeをカスタマイズしようと、間違えてこのファイルを触ってしまったのか…。

とにかくは直った。いつ設定を変えたのか分からないので気持ち悪いが、管理画面での文字化けも解消され、正常にブログ内で検索できるようにもなった。やれやれ。



Posted On
Last Updated On
  • Podcastで聴く
  • Google Podcasts
  • Listen to Stitcher