Banco de dados não guarda caracteres especiais [RESOLVIDO]

3 respostas Resolvido
javabanco-de-dados
Z

Tenho um sistema de cadastro em Java.
Quando é cadastrado alguma String com acentos ou outros caracteres especiais, o banco não armazena como deveria, ‘õ’ é armazenado como ‘õ’, por exemplo.
Porem, quando eu armazeno a String com caracteres especiais no próprio MySql Workbench o banco de dados armazena do jeito certo, então eu suponho que o problema esteja na parte do Java.
Pesquisando por ai, eu encontrei a informação de que as Strings em Java são formatadas em UTF-16 ou algo assim, tentei trocar o charset do meu banco de dados para UTF-16 mas parece que ele “rejeitou”
Também como resultado das pesquisas, eu encontrei os métodos decode e encode no PHP, que na teoria resolveriam esse problema, e aparentemente é desses métodos que eu preciso.

Existem métodos em Java que façam essa conversão de UTF-16 pra UTF-8? Ou será que existe outra forma de arrumar esse bug?

Estou usando Windows 10

3 Respostas

F

Milton, vê se isso te ajuda:

Z

Infelizmente não deu certo. Passei essas ultimas horas pesquisando e fazendo testes, mas o erro ainda está sem solução!

Z
Solucao aceita

Encontrei o problema.
Bastava adicionar a linhar request.setCharacterEncoding("UTF8") no código do cadastro.

Obrigado por tentar ajudar!

Criado 20 de abril de 2021
Ultima resposta 22 de abr. de 2021
Respostas 3
Participantes 2