Não consigo inserir string acentuada no banco

4 respostas
H

Pessoal, estou com um problema quando tento inserir um dado num campo do banco. Quero inserir a string “Júlio César”, mas recebo a seguinte exceção:

java.sql.SQLException: Incorrect string value: '\xFAlio C...' for column 'nome' at row 1

Meu snippet de inserção é bem padrão:

insert = conn.prepareStatement("INSERT INTO pessoa (nome) VALUES ('Júlio César')");
insert.executeUpdate();

Já tentei mudar o encoding do banco, já coloquei parâmetros de encoding nos parâmetros de conexão do JDBC com o banco, já tentei converter a string para byte[] e depois chamar o método getBytes()… nada disso resolveu. Também mudei o locale da minha aplicação. Não funcionou.

Estou usando Java 7 e o banco é um MySQL 5.1.49.

Alguma solução?

4 Respostas

Aleksandro

Se já tentou inserir o nome com acento diretamente no banco ? embora eu te pergunte para que você precisa inserir os nomes acentuados no banco ?

J

Qual charset encoding você está usando?

Se puder, de uma olhada: http://blog.caelum.com.br/2006/10/22/entendendo-unicode-e-os-character-encodings/

H

Javax2011:
Qual charset encoding você está usando?

Se puder, de uma olhada: http://blog.caelum.com.br/2006/10/22/entendendo-unicode-e-os-character-encodings/

Charset latin1, collation latin1_general_ci.
Sua sugestão não resolveu meu problema.

H

Quando eu insiro diretamente funciona, sim.
Preciso inserir nomes acentuados porque os nomes das pessoas contêm acentos.

Criado 20 de outubro de 2011
Ultima resposta 20 de out. de 2011
Respostas 4
Participantes 3