Boa tarde pessoal, estou tendo muita dificuldade para acertar o CHARSET na minha aplicação, e gostaria de ver se vocês podem me ajudar.
Abaixo segue front-end da minha aplicação onde mostra o caracter bagunçado, devido a um caracter especial.
Abaixo meu filter.
package br.com.personalPrpject.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class EncodingFilter implements Filter {
private String encoding;
private FilterConfig filterConfig;
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) resp;
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
chain.doFilter(req, resp);
}
@Override
public void init(FilterConfig fc) throws ServletException {
// TODO Auto-generated method stub
this.filterConfig = fc;
this.encoding = filterConfig.getInitParameter("encoding");
}
}
Abaixo meu xhtml principal.
<?xml version="1.0" encoding="utf-8"?><h:head>
<f:facet name="first">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
</f:facet>
<title>teste</title>
<h:outputStylesheet library="css" name="styles.css" />
</h:head>
<h:body>
<!-- <p:growl id="msgGlobal" life="6000" /> -->
<p:layout fullPage="true">
<p:layoutUnit position="north">
<ui:insert name="menu" />
</p:layoutUnit>
<p:layoutUnit position="center">
<ui:insert name="conteudo" />
</p:layoutUnit>
</p:layout>
</h:body>
Abaixo o xhtml da minha tabela:
<?xml version="1.0" encoding="utf-8"?><ui:composition xmlns=“http://www.w3.org/1999/xhtml”
xmlns:h=“http://java.sun.com/jsf/html”
xmlns:f=“http://java.sun.com/jsf/core”
xmlns:p=“http://primefaces.org/ui”
xmlns:ui=“http://java.sun.com/jsf/facelets”>
<h:form id="formListaEnderecos" acceptcharset="UTF-8" prependId="false">
<p:fieldset style="margin-bottom:20px; margin-top: 15px;" legend="Dados de entrada" id="idLayoutCamposEntrada">
<h:panelGrid columns="7">
<p:outputLabel id="idLocalidadeLbl" value="#{proper['proper.label.localidade']}" />
<p:inputText style="margin-left: 10px;" id="idLocalidadeTxt" required="true" value="#{enderecoBean.enderecoBusca.localidade}" />
<p:outputLabel style="margin-left: 20px;" id="idUfLbl" value="#{proper['proper.label.uf']}" />
<p:selectOneMenu style="margin-left: 10px;" id="idListaEstados" effect="fold" required="true" value="#{enderecoBean.enderecoBusca.uf}">
<f:selectItem itemLabel="Selecione" itemValue="" noSelectionOption="true" />
<f:selectItems value="#{enderecoBean.listaEstadosOrdenada}" />
</p:selectOneMenu>
<p:outputLabel style="margin-left: 20px;" id="idLogradouroLbl" value="#{proper['proper.label.logradouro']}" />
<p:inputText style="margin-left: 10px;" id="idLogradouroTxt" required="true" value="#{enderecoBean.enderecoBusca.logradouro}" />
<p:commandButton style="margin-left: 20px;" value="#{proper['proper.label.buttonBuscar']}" icon="fa fa-refresh" action="#{enderecoBean.buscarCep}" update="idDataTableEndereco" />
</h:panelGrid>
</p:fieldset>
<p:dataTable id="idDataTableEndereco" emptyMessage="Nenhum registro encontrado" rows="15" paginator="true" var="item" value="#{enderecoBean.listaEnderecoDozerMapper.endereco}" >
<p:column id="colunaUm" headerText="#{proper['proper.label.cep']}">
<div id="idUm" align="center">
<h:outputText value="#{item.cep}" />
</div>
</p:column>
<p:column id="colunaDois" headerText="#{proper['proper.label.logradouro']}">
<div id="idDois" align="center">
<h:outputText value="#{item.logradouro}" />
</div>
</p:column>
<p:column id="colunaTre" headerText="#{proper['proper.label.complemento']}">
<div id="idTres" align="center">
<h:outputText value="#{item.complemento}" />
</div>
</p:column>
<p:column id="colunaQuatro" headerText="#{proper['proper.label.bairro']}">
<div id="idQuatro" align="center">
<h:outputText value="#{item.bairro}" />
</div>
</p:column>
<p:column id="colunaCinco" headerText="#{proper['proper.label.localidade']}">
<div id="isCinco" align="center">
<h:outputText value="#{item.localidade}" />
</div>
</p:column>
<p:column id="colunaSeis" headerText="#{proper['proper.label.uf']}">
<div id="idSeis" align="center">
<h:outputText value="#{item.uf}" />
</div>
</p:column>
<p:column id="colunaSete" headerText="#{proper['proper.label.unidade']}">
<div id="idSete" align="center">
<h:outputText value="#{item.unidade}" />
</div>
</p:column>
<p:column id="colunaOito" headerText="#{proper['proper.label.ibge']}">
<div id="idOito" align="center">
<h:outputText value="#{item.ibge}" />
</div>
</p:column>
<p:column id="colunaNove" headerText="#{proper['proper.label.gia']}">
<div id="idNove" align="center">
<h:outputText value="#{item.gia}" />
</div>
</p:column>
</p:dataTable>
</h:form>
</ui:composition>
Abaixo meu web.xml
<?xml version="1.0" encoding="UTF-8"?>
personalPrpject
<!-- Welcome page -->
<welcome-file-list>
<welcome-file>faces/pages/principal.xhtml</welcome-file>
</welcome-file-list>
<login-config>
<auth-method>EXTERNAL</auth-method>
</login-config>
<!-- JSF mapping -->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- MIMETYPES PRIMEFACES -->
<mime-mapping>
<extension>eot</extension>
<mime-type>application/vnd.ms-fontobject</mime-type>
</mime-mapping>
<mime-mapping>
<extension>otf</extension>
<mime-type>font/opentype</mime-type>
</mime-mapping>
<mime-mapping>
<extension>ttf</extension>
<mime-type>application/x-font-ttf</mime-type>
</mime-mapping>
<mime-mapping>
<extension>woff</extension>
<mime-type>application/x-font-woff</mime-type>
</mime-mapping>
<mime-mapping>
<extension>svg</extension>
<mime-type>image/svg+xml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>woff2</extension>
<mime-type>application/x-font-woff2</mime-type>
</mime-mapping>
<!-- Change to "Production" when you are ready to deploy -->
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<context-param>
<description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<!-- <context-param> <param-name>javax.faces.FACELETS_LIBRARIES</param-name>
<param-value>/WEB-INF/springsecurity.taglib.xml</param-value> </context-param> -->
<context-param>
<param-name>primefaces.UPLOADER</param-name>
<param-value>commons</param-value>
</context-param>
<context-param>
<param-name>primefaces.FONT_AWESOME</param-name>
<param-value>true</param-value>
</context-param>
<!-- Map these files with JSF -->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<!-- CONFIGURAÇÃO DO UPLOAD DO PRIMEFACES -->
<!-- <filter>
<filter-name>primeUploadFilter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>primeUploadFilter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping> -->
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>br.com.personalPrpject.filter.EncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>*.xhtml</url-pattern>
</filter-mapping>
Se alguém puder me ajudar, deixe seu comentário, abraço a todos.