[Resolvido]Codificação de Caracteres .jsp/.java

Para quem ver este tópico no futuro e não tiver acesso aos arquivos, aqui está a solução que o rafaelsantini encontrou:

Basta criar esta classe de filtro:

[code]
package br.com.empresa;

public class CharsetFilter implements Filter {

private FilterConfig filterConfig;

public void init(FilterConfig filterConfig) {
    this.filterConfig = filterConfig;
}

public void destroy() {
    this.filterConfig = null;
}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws UnsupportedEncodingException, IOException, ServletException {
    request.setCharacterEncoding("UTF-8");
    response.setContentType("text/html; charset=UTF-8");
    chain.doFilter(request, response);
}

}[/code]

e colocar isso no web.xml:

[code]
CharsetFilter
br.com.empresa.CharsetFilter

<filter-mapping>
    <filter-name>CharsetFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>[/code]

O filtro não é necessário, funciona sem ele. O que importa mesmo é a tag ${project.build.sourceEncoding} no pom.xml.

Inicialmente pensava que o problema estava relacionado com o Struts ou com o Tomcat, mas não tem relação.

Agora eu testei denovo aqui sem o filtro… Eu não tinha dado ‘limpar e construir’ no projeto depois que eu coloquei a tag no pom, eu só dei quando adicionei o filtro… por isso não funcionou…

Meu erro X)

To tendo o mesmo problema na minha aplicação, mas o meu projeto é desktop, importação de arquivos XML

tem por exemplo uma tag que vem com o valor ----> “Remédio” no arquivo

porém o programa tá gravando na tabela assim —> “RemA?dio”…

Alguém sabe o que poderia ser?

To usando a API JAXB para a importação de XML’s.

Obrigado.

eu só colque no Servelt e funcionou valeu

request.setCharacterEncoding(“UTF-8”);
response.setContentType(“text/html; charset=UTF-8”);

1 curtida