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
| PROCESSO |
PASTA |
VARA |
Excluir |
Atualizar |
<%
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>
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
<filter>
<filter-name>SetCharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
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]