カテゴリー
technology

MovableType の読み込み/書き込み機能の罠(bug)

MT 3.3 導入準備でもすっかといろいろいじっていたら、明らかに途中で切れているエントリをいくつか発見。小一時間ほどかかってわかったのが、バックアップファイル中に —–\n (ハイフン+改行)が入っている箇所で切れている状態でした。
Movable Typeの読み込みフォーマットによれば、「—–\n」各セクションの区切りとなっていて、確かに読み込みにデリミターとして認識されて利用されます。
自分のミスかと思ったが、アレ?まてよ。MTの管理画面で書き出しを実行したんだったな、と。まさか MT 側の問題とは思ってませんで余計に時間かかった。
はぁー、なんか以前もあったかも。さらに今利用中の DB 内でもすでにエントリが途中で切れている状態だったことも発覚。2年前のバックアップファイル(HTML)から —– を探しまくって行頭にスペース入れて修正したりして、変に時間を取られましたよ。げんなり。
問題のあったエントリ:
グランドゼロ
Debian の Apache2 で SSL セットアップ

カテゴリー
technology

DBIx::Class と mysql で utf8 使うとき

素で使うと mysql→perl 時点でマルチバイトが ? に変換されちゃうので、SET names utf8 をする必要あり。DBIC では以下のように実行すると吉。

my $schema = MyDB->connect($CONNECT_STRING, $USERNAME, $PASSWORD);
$schema->storage->dbh->do("SET names utf8");

ちょいはまったのでメモ。