Encoding persistindo dados com Spring

2 respostas
surfzera

Pessoal, estou com problemas ao persistir dados no banco com spring, ele está gravando com o encoding errado. Preciso que o spring grava com UTF-8. O meu banco de dados é um postgres 8.3 LATIM1.

Já coloquei os parametros abaixo e não tive solução.

<%@page contentType="text/html" pageEncoding="UTF-8"%>

e no web.xml

<filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
 </filter>

 <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
 </filter-mapping>

Se alguem tiver algum solução me ajude.

2 Respostas

A

Carinha, tá meio vago o problema, aí. Primeira pergunta: na sua conexão ao banco de dados, ou nas consultas, ou em algum lugar, você está falando que o banco está com encoding LATIM1? Porque se você falar que o banco de dados é UTF8 pro java, ele vai mandar dados em UTF8 e vai chegar zoado no banco.
Se, por outro lado, o problema é na tela, tive um problema similar aqui, só que com JSF. Botei o encoding como UTF8 nas páginas, mas as mensagens que configurava nos arquivos properties estavam vindo errados. Aí me toquei que os arquivos properties são tipicamente codificados em ISO8859. Ou seja, eu gravava em UTF8, mas lia em ISO8859. Claro que não dá certo …

surfzera

Cara voltei a colocar os parametros no web.xml e funcionou , acho que não tinha pego as configurações, fiz um novo deploy e funcionou.

Criado 13 de janeiro de 2012
Ultima resposta 13 de jan. de 2012
Respostas 2
Participantes 2