Estou passando por este problema, no servidor banco de dados o encoding está como latin1 e na aplicação (.xhtml e web.xml) UTF-8 como faço para equalizar? Digo, base de dados, o dado está correto, ex: André AS, com seu devido acento, mas percebo que no DAO já bagunça, quando recebe
o dado via SELECT… Como faça para consertar este bug? 
Enconding - Não está reconhecendo acentos
5 Respostas
Você pode mudar suas páginas para usarem ISO-8859-1
<?xml version="1.0" encoding="ISO-8859-1"?>…
…
O problema é que no ContentType do Eclipse, ele leva em consideração UTF-8 para facelets, então, você precisará mudar lá também para ISO-8859-1.
O ideal, na minha opinião, é mudar o banco para UTF. Eu tinha aplicações em ISO-8859-1, mas que gravaram em um banco de dados em UTF-8. Quando migrei as páginas para UTF-8, não tive problemas.
O problema é que já chega zuado no DAO ao receber o SELECT… Tende?
Estou tentando usar algo como:
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/SS_USA_SALES?useUnicode=true&characterEncoding=latin1", "root", "root");
Testei passar o encoding ao pegar a conexão mas ainda não funcionou…
Eu tava com esse mesmo problema, mas converti no BD pra UTF-8 também, e tudo funcinou de boa
não sei se é viável pra vc isso =p
voce tem certeza mesmo que o BD esta em latin1? pode ser que esteja ja no formato correto, e voce esteja pedindo em outro. tente com utf8 na url de conexao