|Do you know where your variables are?|
According to the DBD::SQLite documentation, the connect() syntax is (from the SYNOPSIS):
You appear the missing the dbname= part.
I'd suggest you use the utf8 pragma and hard-code the connect() call, with the unicode character(s), directly into your script (or, at least, a test version); e.g.
Remove all the Tk and SQL code: just attempt to connect to the database. Work on getting that happening. If you encounter difficulties, ask here but include all relevant details (see the "How do I post a question effectively?" guidelines if you're unsure about this step).
Once you have a script that allows you to successfully connect(), start adding the other parts back in a bit at a time.
Repeat the process outlined: fixing small problems as they occur or asking here when you can't. Eventually, you'll have everything fixed — and may still retain much of your original hair :-)