+1  A: 

'é' and if I use the HTML entity equivalent e.g. é it gets escaped so that the user will see 'é'.

This I don't understand. Can you show an example of how it is displayed, as opposed to how it should be displayed?

So, I have been told that if the page and the text is in UTF8, no conversion to htmlentities is required. Is this true?

Yup. In more detail: If the data you're displaying and the encoding of the HTML page are both UTF-8, the multi-byte special characters will be displayed correctly.

And if the last question is true, then how do I convert the source text to UTF8?

Advanced editors and IDEs enable you to define what encoding the source file is saved in. You would need to open the file in its current encoding (with special characters being displayed correctly) and save it as UTF-8.

If the content is messed up when you have the right content-type header and/or meta tag specified, then the content is not UTF-8 yet. If you don't get it sorted, post an example of what it looks like here.

Pekka
Many thanks, Pekka. I managed to fix the issue by making sure that everyone was UTF8, including the source files.