you said originally:
This suggested that it was only the text being displayed inside the textarea which was displaying incorrectly.
Other Czech characters on the page outside the textarea field on both pages do display correctly, leading me to believe the page encoding is correct. It is only the characters inside the textarea field that display incorrectly.
I meant on that same page, leave off the text area and display the offending text with the good text around it.
echo the text onto the page outside of the <textarea> - does that still display bad characters?
Are you saying you did this and you have a mixture of good and bad text on the same page, as straight html?
Where is the text for the textarea originally generated from?
I recall having an issue like this yours - where users could upload a text file (for a translation) and that text file was not utf-8, and therefore the text was tainted all the way through its life-cycle until I displayed it.
I suspect it is the same case if they even copy from a text file which is not utf-8 and paste into an input screen - you may have to implicitly set encoding to uft-8 prior to saving.