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!