Возможно ли, что браузер интерпретирует ответ от вызова serveResource () в соответствии с набором символов, указанным на странице, содержащей портлет, вместо того, что вы намереваетесь? Возможно, вы получаете правильный символ обратно, но когда браузер отображает его, он игнорирует то, что вы установили в методе serveResource (), и отображает его с тем же набором символов, что и остальная часть страницы.
Это может объяснить, почему он работает нормально с HttpServlet, который отвечает за отображение всей страницы, а не только ее части. И так, установка кодировки символов в ответе закрывает дело в этом случае.