Estou com problemas quando envio dados em um formulário via POST. Todos os campos de texto vão normalmente (inclusive com os caracteres especiais), mas no textarea os caracteres especiais não passam adequadamente!
Segue a página JSP:
Estou usando o seguinte filtro também:
public class Filtro_UTF_8 implements Filter
{
private String encoding;
public void init(FilterConfig config) throws ServletException {
this.encoding = config.getInitParameter("encoding");
}
public void destroy() {
}
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException {
//System.out.printf("FILTRO - Passou pelo filtro UTF-8!!!\n");
request.setCharacterEncoding(encoding);
response.setCharacterEncoding(encoding);
chain.doFilter(request, response);
}
}
<filter>
<display-name>Filtro_UTF_8</display-name>
<filter-name>Filtro_UTF_8</filter-name>
<filter-class>Filtro_UTF_8</filter-class>
<init-param>
<description>filtro para codificação dos caracteres</description>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Filtro_UTF_8</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
O detalhe é que, se eu tiro o filtro, o textarea passa a exibir os caracteres especiais corretamente, mas os campos de texto (<input type=“text”) passam a mandar o conteúdo de forma errada!!! Ou seja, a situação inverte!!
Alguém tem alguma idéia?