MyApp::Model::DB::Table->storage->dbh->do("SET names utf8");
setupが終わった辺りにこれを実行しておけば良いのかな。
Table側でDBもload_componentしてないとだめかも。
追記: 2006/01/11 08:48
これだと、timeoutとかでコネクションが切れて再接続したらアウトですね。
_populate_dbh あたりにcallback仕掛けられそうにはないので、ちょっと冗長ですがbeginでリクエスト毎に。
sub begin : Private { my ( $self, $c ) = @_; $c->model('DB::Table')->storage->dbh->do("SET names utf8"); }
DSN辺りで頑張れないかと思ったんですが、ちょっと見つかりませんでした。どなたか情報ください。
追記: 2006/02/02 15:45
DBIx-Class-0.04999_03から、DBIx/Class/Storage/DBI.pmにon_connect_doというフック機能が入っていました。0.05もリリースされましたし、これを使えば良さそうですね。