Look, I tried all that. I have since found a small note in the manual from someone else using mysql/php 5 who found the only solution was a .htaccess entry:
AddDefaultCharset UTF-8
In truth, this looks like someone at my isp is screwing around with the server - just got a cascade of errors about session_start and my access control script has not changed. That is the trouble with hosted services, you have no control over server settings, or when they are changed, so sometimes the documented solutions just will not work.
Please stop responding to this thread - I marked it as resolved.
PS, I've got another account with the same host and the dbs are on a different server which does not throw this error so go figure.