Tentei implementar o código para forçar a o encoding 8859-1:
public String paraIso(String string) throws SystemException{
Charset charsetUtf8 = Charset.forName("ISO-8859-1");
CharsetEncoder encoder = charsetUtf8.newEncoder();
Charset charsetIso88591 = Charset.forName("UTF-8");
CharsetDecoder decoder = charsetIso88591.newDecoder();
String s = "";
try {
ByteBuffer bbuf = encoder.encode(CharBuffer.wrap(string));
CharBuffer cbuf = decoder.decode(bbuf);
s = cbuf.toString();
} catch (CharacterCodingException e) {
logger.info("Erro ao converter: " + e.getStackTrace());
}
return s;
}
Está dando uma exception:
Erro ao converter: java.nio.charset.MalformedInputException: Input length = 1
na linha
CharBuffer cbuf = decoder.decode(bbuf);
O que poderia ser? Já aconteceu esse erro com alguém?