Problemas com gravação de palavras com acento no MySQL

Pessoal,

Minha aplicação em JSP/Struts está até gravando as informações no BD MySQL, porém, as palavras que tem acento como “São Paulo”, “Tatuapé” etc, estão sendo gravadas com códigos estranhos como: “Tucumã”, “Tatuapé” e “São Paulo”.

Alguém sabe como resolver isto?

É alguma configuração que tenho que fazer?

Acho que não é problema do MySQL porque o cadastro de estados eu fiz direto no banco e gravou os acentos normalmente…

Obrigado pela ajuda! :lol:

Valeu!

Tem mudar a configuração caracteres de sua JSPs
Para ISO-8859-1 seeu não me engano.
Mas o padrão de caracter da tabela no banco tambem pode alterar a palavra

Assim :
no inicio da jsp
<%@ page language=“java”
contentType=“text/html”
pageEncoding=“ISO-8859-1”
%>
Acho que isso resolve seus problemas.Se não der certo posta aí.

Na realidade, há sim situações em que é o banco de dados.
Existe a propriedade da tabela chamada Collation que pode estar armazenando em um formato diferente do qual deseja. Por exemplo, no MySQL, você pode utilizar para caracteres latinos latin1_swedish_ci.

Procure a respeito disso na documentação.

Bons códigos

Bem criador poderia dizer se soluções dos tópicos
resolveram o problema ,né?

Eu acho que não resolveu,

porque ele simplesmente não sabe onde está o problema…

ele precisa saber:

  1. qual o encoding que está no banco;
  2. qual o encoding que está na aplicação;
  3. qual o encoding aceito pelo formulário;
  4. se existe algum filtro pelo caminho…

bom, se quiser verificar sua aplicação e resolver o problema de encoding, visite esse link:
http://www.guj.com.br/posts/list/12456.java

fw

[quote=Daniel.F]Assim :
no inicio da jsp
<%@ page language=“java”
contentType=“text/html”
pageEncoding=“ISO-8859-1”
%>
Acho que isso resolve seus problemas.Se não der certo posta aí.[/quote]

Cara… valeu a ajuda!!
isso resolveu meu problema!
o encoding antes tava o padrão UTF=8!

Valeu a ajuda da galera toda ae…
Mto obrigado

Estou com o mesmo problema.

Criei meu banco sem especificar nenhum outro parâmetro. Então creio que ele tenha sido criado com o encoding padrão.

Quando pelo console dei um insert, com palavras acentuadas, foi gravado corretamente. Vejo isso quando dou um select e vejo o resultado certinho como inseri.

Mas estou tentando via jdbc retornar este mesmo SELECT, e por exemplo, NÓBREGA aparece assim: NÃ?BREGA.

Estou em uma aplicação desktop utilizando swing.

Já testei alguns parâmetros no charset, mas nao dá certo.

No final da minha string de conexão está assim:
“?useUnicode=true”;

Mas tb ja usei:
“?charSet=LATIN1”;
“?charSet=UTF-8”;
“?charSet=iso-8859-1”;

O que posso fazer?

Boa noite pessoal.
Um forte abraço.

To com mesmo problema…

Com uma aplicação swing, utilizando hibernate… não funciona nada.