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

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

Milton, vê se isso te ajuda:

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

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

Obrigado por tentar ajudar!

1 curtida