From how I interpret the comments regarding the SQLite changes between 2.8 and 3.x, SQLite doesn't care what kind of data you hand it. I'm not sure if DBI provides some hooks or ways to automatically tag all (outgoing) strings as UTF-8 though - if you're using Class::DBI, you can put the conversion/tagging into a trigger, but I guess if DBI doesn't provide, you have to use Scalar::Util yourself to add the UTF-8 tag. Or maybe barts tagging trick via pack or unpack works:
my $utf8 = unpack "C0", $value;
# but bart will likely correct my incorrect usage