When the database is added directly it works fine? I don't understand what would be different in that case either. Do you mean if you add a recordset to a separate page it works fine, but a recordset on this page won't display?
It must have something to do with the charset being set to utf-8. If you remove that from your header does it work?