So data from the database works if you tell the browser to interpret it as UTF-8, that means that data is UTF-8 encoded. The HTML code works if you tell the browser to interpret it as ISO-8859, that means the HTML is encoded in ISO-8859.
So you have a document with mixed encodings. Bring those two together. Save your source code files as UTF-8 and tell the browser to interpret it as UTF-8, or get your data from the database in ISO-8859 and tell the browser to interpret it thusly.