URLDecoder

3 respostas
javaBeats

Olá,

Seguinte… um formulário com enctype “application/x-www-form-urlencoded” manda os dados dos seus campos via POST para uma página JSP ou um Servlet. Nesta página/servlet eu recebo o parâmetro da seguinte maneira:

Enumeration en = request.getParameterNames();
while (en.hasMoreElements()) {
    String name = (String) en.nextElement();
    String value = request.getParameter(name);
    String decoded = URLDecoder.decode(value, "UTF-8");
}

// Passar a String decoded para o método que vai gravá-la em banco.

Acontece que, ao gravar a dita String no banco, e depois consultando o registro gravado, eis o resultado:

Entrada do Usuário: Acentuação á é í ó ú
Ao consultar do banco: Acentuação á é í ó ú

O Charset do banco de dados não foi especificado quando criado. É Firebird 1.5

Grato! =D
Rodrigo

3 Respostas

Rafael_Steil

O accept-charset do formulario esta como UTF-8 tambem? (ja que vc usa esse encoding no teu codigo)

Rafael

javaBeats

Sim, é. Perdão, esqueci de mencionar.

Retirei o atributo enctype da tag do Form… e o problema permanece.

cv1

Entao, muito provavelmente, o problema esta no banco. Certifique-se que o seu driver JDBC sabe falar usando UTF-8 com o Firebird, e que o encoding da base no Firebird (que voce nao especificou) tem UTF-8 como default.

Criado 24 de março de 2005
Ultima resposta 24 de mar. de 2005
Respostas 3
Participantes 3