On Mon, Oct 27, 2008 at 02:50:20PM +0000, [EMAIL PROTECTED] wrote: > I've a question about the best way to interpose in checking the > arguments passed from DBIC via DBI to DBD::Oracle::execute(). > > From DBD::Oracle docs > http://search.cpan.org/~pythian/DBD-Oracle-1.22/Oracle.pm#DBD::Oracle_and_Unicode > there's a strange situation. > > Data fetched is always returned as UTF-8 marked Perl variables. > When sending data using placeholders, however, if you use Perl > internal byte encoded format variables containing wide characters you > can get broken (double encoded) results on re-retrieving. > > Ideally, I'd like to catch the check all the arguments that end up > passed to execute() and either throw an exception on non UTF-8 marked > vars with wide characters or call decode('iso-8859-1', $var) on each > one first. > This is so I can replicate the behaviour of the BBC's internal caching > db library.
Wrap _prep_for_execute? Factor _dbh_execute out a bit further to make this cleaner? I see no useful third option from a quick prod. -- Matt S Trout Need help with your Catalyst or DBIx::Class project? Technical Director http://www.shadowcat.co.uk/catalyst/ Shadowcat Systems Ltd. Want a managed development or deployment platform? http://chainsawblues.vox.com/ http://www.shadowcat.co.uk/servers/ _______________________________________________ List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class IRC: irc.perl.org#dbix-class SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/ Searchable Archive: http://www.grokbase.com/group/dbix-class@lists.scsys.co.uk