I'm wondering why a portlet would need to change the character encoding? If it's included in a page, the page should already have a character encoding. I don't see what a browser is supposed to do when a portlet uses a different one.
Follow-up question: why does the portlet 2.0 api contradict itself when it comes to character encoding? There's one place where it says portlets aren't allowed to change the character encoding, but later it shows you how.