Not for 'how-to' coding questions but PHP theory instead, this forum is here for those of us who wish to learn about design aspects of programming with PHP.
Is that true that the fudging is only needed on creating the tables? Not every time the app opens a connection to a database?
I'm happy to keep all user admin control panel stuff to ASCII - no problem with that. My worries are when I come to importing an email from a POP mail box, for example, and converting it into a PDF, a phpBB forum post, or whatever. That's the kind of challenge I'm talking about. Although, from your post it seems like it may not be as impossible as I thought.
There's a separate set of fudging that happens while creating the database, sorry. Early versions of MySQL don't support having their character encoding specified in CREATE table calls.