swa66 - 7:14 am on Sep 15, 2012 (gmt 0)
I would convert everything to UTF-8, this is really the simplest solution, but you need to do the conversion carefully.
e.e. strlen() in your php looks for bytes, not characters, and hence it can be off quite a bit, your database is the same, if you have char() fields: they take triple space in UTF-8 (worst case scenario is what char aims for in storage); varchar doesn't do that.
Your problem is going to get worse as you might be contaminating your database with having a mix of iso-latin and utf-8 in it, something that you only can clean up if you know which fields have been contaminated.