Hi all -- thanks for these fabulous replies. I'm learning a lot. 

Armed with a bit of new knowledge, I've done some tinkering. I think I've solved my original quandaries, and have opened new cans of worms. I have a few more specific questions:

1) It appears that once I switch my MySQL table over from a latin character set to UTF-8, it is not longer case-insensitive (this makes sense based on what I learned from the Joel on Software post). All of the scripting I've done until now takes advantage of the case insensitivity; is there an easy way to keep this case insensitive while in UTF-8? 

2) Is there a good/easy way to make the database agnostic about diacritics, so that a search for "cafe" will also find "café" 

The answers to both of these may be "convert data to some normalized A-Z field that never displays, but I can only imagine that normalizing even most-Roman-characters-with-diacritics to plain ASCII-style characters can be daunting task.

Any advice on these particulars?