JSF getParameter URLEncode

Pessoal estou passando um parametro String com acento pelo <h:commandLink>, so que quando vou recuperar este parametro a String vem de forma diferente pois o jsf usa o Encode ou não? caracteres especiais html?..

Passando o parametro:

<h:commandLink value="#{i18n[‘BUTTON_Excluir’]}" action="{entretenimentoAcao.desativarProgramacao}" styleClass=“link_excluir”>

<f:param name=“nomeAtracao” value="#{element.atracao}" />

</h:commandLink>

Recuperando o parametro:

String parameter = getParameter(“nomeAtracao”);

System.out.println(parameter);
//parametro passado: Programação 1
//retorno do parametro : Blá Blá Blá

String parametroRetorno = “Programação 1”;

Na minha Ação:

String encode = “UTF-8”;
//String encode = “US-ASCII”;
//String encode = “UTF-16BE”;
//String encode = “UTF-16”;
//String encode =“UTF-16LE”;

String parametroEncode = URLEncoder.encode(parametroRetorno , encode);
System.out.println(parametroEncode);
// passando o encode UTF-8=> Programa%C3%A7%C3%A3o+1
// diferente do parametro que recebo no getParameter()!
// já tentei com todos os outros Encode e nenhum fica dessa forma:blá blá blá

String parametroDecode = URLDecoder.decode(parametroEncode, encode);
//Decodificando o parametro: Programação 1
System.out.println(parametroDecode);

Já usei estes tipos de Encode e o valor não fica igual ao valor que pego no getParameter();

Alguém pode me ajudar a resolver este problema? qual Encode o JSF usa?
Agradeço pela atenção!

Ja resolvi…

HTMLEncoder.encode();

Abraço!