in reply to
Returning special characters in CGI
I'm not sure how to go about troubleshooting this. Ideas?
First you should have a firm understanding of how UTF-8 and character encodings work in Perl. Character Encodings in Perl might help you.
Then you should debug it the same way you debug any other problem where data doesn't come out the way you think it should: You trace the data's path through your program, and figure out where it starts to be wrong, and then fix the place where it starts to go wrong.