in reply to UTF8 vs SQLite
I've only skimmed this thread, but I didn't see this mentioned. There has been some changes to DBD::SQLite at version 1.10. From the current pod:
If set to a true value, DBD::SQLite will turn the UTF-8 flag on for all text strings coming out of the database. For more details on the UTF-8 flag see perlunicode. The default is for the UTF-8 flag to be turned off.
The Changes file says:
1.10 - Fix Unicode support (DOMQ)
So with luck all you need is an upgrade