1
resposta

Problema de encoding (aula4)

Não consegui resolver o problema do encoding como na aula 4, já tentei recriando o banco (drop database) pois o truncate que o instrutor usou não limpava as informações, qualquer caracter acentuado aparece no navegador como um "?" Estou dando continuidade no curso mas quero resolver esse pequeno problema.

Aqui está minha view

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset=UTF-8>
<title>Livros de java, Android, Iphone, PHP, Ruby e muito mais -
    Casa do código</title>
</head>
<body>
    <h1>Lista de produtos</h1>
    <table>
        <tr>
            <td>Título</td>
            <td>Descrição</td>
            <td>Páginas</td>
        </tr>

        <c:forEach items="${produtos }" var="produto">
            <tr>
                <td>${produto.titulo}</td>
                <td>${produto.descricao }</td>
                <td>${produto.paginas }</td>
            </tr>
        </c:forEach>

    </table>
</body>
</html>

E a minha classe ServletSpringMVC

package br.com.casadocodigo.loja.conf;

import javax.servlet.Filter;

import org.springframework.web.filter.CharacterEncodingFilter;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class ServletSpringMVC extends AbstractAnnotationConfigDispatcherServletInitializer{

    @Override
    protected Class<?>[] getRootConfigClasses() {
        return null;
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class[] { AppWebConfiguration.class , JPAConfiguration.class};
    }

    @Override
    protected String[] getServletMappings() {
        return new String[] {"/"};
    }

    @Override
    protected Filter[] getServletFilters() {
        CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter();
        encodingFilter.setEncoding("UTF-8");
        return new Filter[] {encodingFilter};
    }

}

Obrigado pela atenção

1 resposta

Oi Marco, o pior que eu já ia falar para você definir o filtro de enconding :(. Confere para mim se as suas páginas estão sendo criadas com utf-8? Outra coisa importante... as tabelas do seu banco também precisam estar em utf-8, confere isso também?