Problemas com acento

no mysql a acentuação ta normal na pagina sai caracteres estranhos.Será que tem algo de errado no meu codigo??Estou usando jsp

Alguem pode me dar uma dica segue o codigo que estou usando

<%--
    Document   : index
    Created on : 18/08/2010, 113:32
    Author     : Carlos
--%>

<%@page language="java" contentType="text/html" pageEncoding="ISO-8859-1" import="java.sql.*"
        %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <title>EXTRATO DE PROCESSOS</title>
        </head>
    <body>
        <table border="1">
            <thead>
                <tr>
                    <th>PROCESSO</th><TH>PASTA</TH>
                    <th>VARA</th>
                    <th>Excluir</th><th>Atualizar</th>
                </tr>
            </thead>
            <tbody>
                <%
                Connection conn = null;
                Statement st = null;
                ResultSet rs = null;

                try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();

                conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/ad","root","virtual");
                st = conn.createStatement();
                out.println("Base de dados de Disponivel neste momento");
                rs = st.executeQuery("select processo, pasta, vara from controle");
                while(rs.next()){
                    %>
                    <tr><td><%= rs.getString("processo")%></td>
                        <td><%= rs.getString("pasta") %></td>
                        <td><%= rs.getString("vara") %></td>
                        <td><a href="excluindoDB.jsp?processo=<%= rs.getString("processo")%>">clique aqui</a></td>
                        <td><a href="atDB.jsp?processo=<%= rs.getString("processo")%>">Clique aqui</a></td>
                    </tr>
                    <%
                    }//end of while

                } catch (Exception ex) {

                ex.printStackTrace( );
                } finally {
                if (rs != null) rs.close( );
                if (st != null) st.close( );
                if (conn !=null) conn.close( );
                }
                %>
            </tbody>
        </table>
    </body>
</html>

Teste…

pageEcoding=“UTF-8”

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

Vc está usando qual servidor?

Se for o tomcat, já passei por esse problema. Solução foi adicionar ‘useBodyEncodingForURI=“true”’ na tag no arquivo \tomcat\conf\server.xml

nenhuma das duas dicas funcionaram entretanto de qq forma obrigado

[quote=motapaz]no mysql a acentuação ta normal na pagina sai caracteres estranhos.Será que tem algo de errado no meu codigo??Estou usando jsp

Alguem pode me dar uma dica segue o codigo que estou usando

[code]
<%–
Document : index
Created on : 18/08/2010, 113:32
Author : Carlos
–%>

<%@page language=“java” contentType=“text/html” pageEncoding=“ISO-8859-1” import=“java.sql.*”
%>

EXTRATO DE PROCESSOS <% Connection conn = null; Statement st = null; ResultSet rs = null;
            try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();

            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/ad","root","virtual");
            st = conn.createStatement();
            out.println("Base de dados de Disponivel neste momento");
            rs = st.executeQuery("select processo, pasta, vara from controle");
            while(rs.next()){
                %>
                <tr><td><%= rs.getString("processo")%></td>
                    <td><%= rs.getString("pasta") %></td>
                    <td><%= rs.getString("vara") %></td>
                    <td><a href="excluindoDB.jsp?processo=<%= rs.getString("processo")%>">clique aqui</a></td>
                    <td><a href="atDB.jsp?processo=<%= rs.getString("processo")%>">Clique aqui</a></td>
                </tr>
                <%
                }//end of while

            } catch (Exception ex) {

            ex.printStackTrace( );
            } finally {
            if (rs != null) rs.close( );
            if (st != null) st.close( );
            if (conn !=null) conn.close( );
            }
            %>
        </tbody>
    </table>
</body>
[/code][/quote]

tenta isso então, muda o pageEncoding e o charset do meta pra UTF-8:

<%@page language="java" contentType="text/html" pageEncoding="UTF-8" import="java.sql.*"
        %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>EXTRATO DE PROCESSOS</title>
        </head>
PROCESSO PASTA VARA Excluir Atualizar

já tentei isso tb… :shock: .nada resolve…no banco ta normal mas na pagina da errado!!!

Tenho um problema parecido com este só que no meu caso a aplicação envia um email que ao ser aberto no outlook fica desconfigurado, mais se abrir em qualquer browser o email ele fica normal com todos os acentos.

Se alguém puder ajudar agradeço muito.

[quote=acamargo07]Tenho um problema parecido com este só que no meu caso a aplicação envia um email que ao ser aberto no outlook fica desconfigurado, mais se abrir em qualquer browser o email ele fica normal com todos os acentos.

Se alguém puder ajudar agradeço muito.[/quote]

Este problema ocorre prq outlook trabalha no enconding ISO entao vc precisa transformar a string para ISO

O banco de dados está trabalhando em qual enconding?

O que está acontecendo que seu application server está transformando para outro enconding caso seja UTF-8 vc tem duas opções:

request.setCharacterEncoding( "UTF-8" ); Isso no Objeto HttpServletRequest

ou usar uma API do Spring no web.xml

&lt;filter&gt;
        &lt;filter-name&gt;SetCharacterEncodingFilter&lt;/filter-name&gt;
        &lt;filter-class&gt;org.springframework.web.filter.CharacterEncodingFilter&lt;/filter-class&gt;
        &lt;init-param&gt;
            &lt;param-name&gt;encoding&lt;/param-name&gt;
            &lt;param-value&gt;UTF8&lt;/param-value&gt;
        &lt;/init-param&gt;
        &lt;init-param&gt;
            &lt;param-name&gt;forceEncoding&lt;/param-name&gt;
            &lt;param-value&gt;true&lt;/param-value&gt;
        &lt;/init-param&gt;
    &lt;/filter&gt;
    &lt;filter-mapping&gt;
        &lt;filter-name&gt;SetCharacterEncodingFilter&lt;/filter-name&gt;
        &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
    &lt;/filter-mapping&gt;

Senao me engano a dependência do spring é spring-web.jar

Ola ramilani12 estou utilizando awt eu tenho que converte o email para ISO antes de chamar o código para enviar isso?

Obrigado pelas respostas rapidas.

[quote=acamargo07]Ola ramilani12 estou utilizando awt eu tenho que converte o email para ISO antes de chamar o código para enviar isso?

Obrigado pelas respostas rapidas.[/quote]

Sim aproveite dê uma olhada neste link http://stackoverflow.com/questions/322298/how-to-send-html-email-to-outlook-from-java

Você pode usar um filtro como esse:

[code]package br.com.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.annotation.WebFilter;

@WebFilter(filterName = “characterEncodingFilter”, urlPatterns = {"/*"})
public class CharacterEncodingFilter implements Filter {

@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
    req.setCharacterEncoding("UTF-8");
    resp.setCharacterEncoding("UTF-8");
    chain.doFilter(req, resp);
}

@Override
public void init(FilterConfig filterConfig) throws ServletException {
}

@Override
public void destroy() {
}

}[/code]