Solucionado (ver solução)
Solucionado
(ver solução)
12
respostas

Caracteres estranhos no banco de dados

Utilizamos o postgres 9.5 e eclpise STS. Mas salvando um registro no banco de dados ele está salvando com caracteres estranhos

O que pode ser ?

12 respostas

Pode ser que o input do usuário tenha entrado errado na primeira vez e, seja por cacheamento ou por alguma particularidade do banco, ele não traduziu.

Tenta fazer um novo input de dados depois da atualização pra ver se o erro persiste

Como ainda o sistema está em faze de desenvolvimento, só está na minha máquina. O que está acontecendo em qualquer navegador.

Em todos já limpei o cache, já apertei CTRL + F5. Jà dei clean no eclipse, limpei o cache do tomcat (pelo eclipse), e continua na mesma.

As configurações que mostrei nas imagens estão corretas ?

Então é o banco de dados que não está conseguindo converter os valores que está recebendo.

Quando você criou seu Postgres, você selecionou algum template?

Se você não selecionar, ele vai usar o encoding ISO 1886, que é o template 1.

Eu recomendaria recriar o banco de dados utilizando o template correto nesse caso, usando os comandos

Substitua o "you_db_name" pelo nome do seu database

psql -h localhost -U postgres -d template1 -c "CREATE DATABASE your_db_name WITH OWNER postgres ENCODING 'UTF8' TEMPLATE template0"

Esse código foi retirado da seguinte questão to stack overflwo

Boa pessoal!!

Vou testar o que vc disse. Obrigado

Mas isto teria que ser uma escolha do usuário, entendo como obrigação da escolha Se você não selecionar, ele vai usar o encoding ISO 1886, que é o template 1. Como o tipo do encode UTF-8, Latin-1, etc ..

Eu concordo e a bem da verdade, nenhum sistema ocidental deveria se apoiar em outro sistema de encoding que não o UTF-8 já que ele oferece amplo suporte. Entretanto, as ferramentas estão configuradas assim e eu só queria que tivesse um lugar que explicasse isso na documentação hahahhaha

Analisando aqui, o problema também pode estar na aplicação, isto é, no formato que o eclipse salva os arquivos.

Olha as imagens:

Fiz uma consulta no banco e até então está normal

Após fazer a consulta no banco de dados e o retorno via JSON:

Ao clica em salvar no html, coloquei um debug no eclipse, olha como está o nome, já esquisito

Olha só, de acordo com a sugestão de um colega no stackoverflow tem duas maneiras de fazer se for o front do eclipse

  • Window > Preferences > General > Content Types > Text > e selectionar cada tipo dos encodings multiplos e pra cada tipo de conteúdo, você tem que setar o encoding padrão e clicar em update, por que ai o eclipse não detecta as configurações automaticamente

Outro jeito é ir em Window > Preferences > Web > HTML Files e selectionar o encoding ISO 10646/Unicode(UTF-8) e atualizar a view

Não funcionou.

O que vc quis diz em atualizar a view ?

Refazer o insert no banco de dados e exibir os dados de novo

OK. Vou fazer isto e lhe informo.

solução!

Criei outro banco e não adiantou.

Passei a ação de inserir e alterar via ajax/jquery e não deu mais problema