Como retornar String com acento no request.getParameter da servlet

bom dia pessoal, eu to brigando com a minha servlet pra ela retorna acentos.

eu ja coloquei o utf-8 na jsp i tals e os acentos foram bunitinho MAS quando eu mando essas informações pra uma servlet e retorno pra jsp nao adianta nada o utf-8, pois, essas informações nao estao escritas na jsp, mas vem pela função request.getParameter.

exemplo o “ó” vem como “ó”, entao eu tive a super idéia de usar um replace (teste = teste.replace(“ó”,“ó”):wink: e realmente funcionou, mas isso eh correto? pra mim ta com cara de gambiarra.

bom eh isso, agradeço desde jah!!!

Use o encoding correto ISO-8859-1

ou use o seguinte

String s = new String(PARAMETRO.getBytes(), “UTF-8”);

se não me engano é assim

[]'s

pedrosa, eu coloquei esse encoding assim <%@ page contentType=“text/html” pageEncoding=“ISO-8859-1”%>

mas quando eu fui salvar o NetBeans deu uma msg falando que esse tipo de encoding nao era suportado em jsp,
e perguntando se eu keria salvar como utf-8 mesmo, ai eu clikei sim, shit, agora eu coloco como “ISO-8859-1”
salvo mas nao da certo

Felagund
eu tentei fazer o que vc disse e nao funfou, ele nem abriu a pagina jsp depois que os dados voltaram da servlet
fiz uma função assim:

public String corrigeAcentuacao(String texto){

        texto = new String(texto.getBytes(), "UTF-8");
        
        return texto;

}

ps: tem um try catch ai i tals…mas tirei pra melhor visualização

ps2: a gamizona ta la comendo solta… olha o que ela virou:

public String corrigeAcentuacao(String texto){
texto = texto.replace(“á”,“á”).replace(“é”,“é”).replace(“í”,“í”).replace(“ó”,“ó”).replace(“ú”,“ú”).replace(“ç”,“ç”).replace(“ã”,“ã”).replace(“º”,“º”) :shock: ;

return texto;

experimente substituir o UTF-8 para ISO ali no new String