こちらで見つけました。
具体的には app/config/database.php で
'encoding'=>'クライアントの文字コード'
を追加してやればいいみたいです。
こうすると内部的に SET NAMES を実行してくれるっぽいです。
ちなみに、普通のPHPやクライアントから使うときは
SET NAMES utf8
というようにSET NAMESでクライアントの文字コードを指定してやればいいようです。
が、このSET NAMESは脆弱性があるらしく、PHPからの使用はあまり進められてないようです。
変わりにPHP5.2.3から新たに追加された mysql_set_charset() を使うのがよろしいみたいです。
ここら辺の脆弱製がらみの情報はこちらとこちら参照にしました。
まあ、といってもcakePHPの場合 SET NAMES使ってるわけで、自力でフレームワークのコア部分直してもいいんですが、そうするとバージョンアップ等で手間だし、勉強目的なので、しばらくはこのままで行きたいと思います。