The character is almost certainly correctly represented in the HTML document generated by the stylesheet, and is then being mishandled by some other software before it appears on your screen. There are too many possibilities for me to make guesses (you haven't explained your processing environment), and I'm afraid it's probably outside my area of expertise anyway.
See if generating it using encoding="iso-8859-1" works any better. This will force it to be output as a numeric character reference or built-in entity reference, which may have a better chance of getting through to the browser without corruption (assuming a browser is involved - you haven't actually said).
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference