Estou com um problema que é p seguinte:
Ao digitar uma palavra acentuada meu meanagedBean pega o valor com caracter estranho no lugar do acento.
Ex: pára —> pára
página:
<h:InputText id="nomeApelido" title="# maxlength="40"
size="50" styleClass="HtmlInputText" value="#{cadastro.nome}" />
ManagedBean
private String nome;
public String getNome() {
return nome;
}
public void setNome(String pNome) {
this.nome = pNome;
}
OBS:Ao debugar posso notar que houve essa conversão.da página para o Bean.
Já mudei o charset na página.
Alguém sabe como resolver?
É o seguinte:
Por algum motivo que não consegui descobrir a aplicação NÂO está em UTF-8.Setei em todos lugares possíveis(acredito).
O que fiz foi usar a seguinte função. Que achei num post do usuário “Luca”.
public String toUTF8(String isoString) {
String utf8String = null;
if (null != isoString && !isoString.equals(""))
{
try
{
byte[] stringBytesISO = isoString.getBytes("ISO-8859-1");
utf8String = new String(stringBytesISO, "UTF-8");
}
catch(UnsupportedEncodingException e)
{
// Mostra exceção mas devolve a mesma String
System.out.println("UnsupportedEncodingException: " + e.getMessage());
utf8String = isoString;
}
}
else
{
utf8String = isoString;
}
return utf8String;
}
abraço