Problema com acentuacao

9 respostas
Thiago_Ananias

Olá pessoal.. estou comecando com JSP...meu problema é vicios adquiridos com ASP...estou com a seguinte pagina:

<jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:display="urn:jsptld:http://displaytag.sf.net">
	<jsp:directive.page contentType="text/html; charset=UTF-8" />
	<jsp:directive.page import="org.displaytag.sample.*, java.sql.*, model.AcessoDB, org.apache.commons.beanutils.RowSetDynaClass" />
	<jsp:include page="../inc/header2.jsp" flush="true" />

	<jsp:text>
		<script src="../js/global.js"></script>
		<script>

			function adicionarFiltro() {
				if(document.getElementById("TD_FILTRO").innerHTML == '') {
					codigo.location.href = '../pesquisas/atendentes.asp?teste=teste';
				} else {
					document.getElementById("TD_FILTRO").innerHTML = '';
					document.frm.submit();
				}
			}

			function efetuarLogoff(id_atendente) {

				if(confirm("Deseja realmente derrubar este atendente?")) {
					codigo.location.href = '../codigo/efetuarLogoff.asp?id_atendente=' + id_atendente;
				}

			}

		</script>
	</jsp:text>

	<link rel="stylesheet" type="text/css" href="../css/estilos.css"/>
	<table border="0" style="width:100%; padding:0px; margin:0px;">
		<tr class="tr_01">
			<td>Usuarios</td>
		</tr>
		<tr class="tr_04">
			<td>
				<table width="100%" style="padding:0px; margin:0px;" class="fonte">
					<tr>
						&lt;td&gt;<a  ><img  /> Filtros Adicionais</a>&lt;/td&gt;
						&lt;td style="text-align:right;"&gt;<a    ><img    /> Inserir Atendente</a>&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/table&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr class="tr_04"&gt;
			&lt;td align="center" id="TD_FILTRO"&gt;&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/table&gt;

	&lt;jsp:scriptlet&gt;

		String sql = "";

		sql += " SELECT				";
		sql += " id_usuario			,";
		sql += " vc_usuario			,";
		sql += " vc_email			";
		sql += " FROM				";
		sql += " tb_usuario			";

		AcessoDB ojbCon = new AcessoDB();
		ResultSet rs	= ojbCon.Execute(sql);

		RowSetDynaClass resultado = new RowSetDynaClass(rs, false);

		request.setAttribute( "results", resultado  );

	&lt;/jsp:scriptlet&gt;

	&lt;jsp:scriptlet&gt;
		request.setAttribute("dyndecorator", new org.displaytag.decorator.TableDecorator() {
			public String addRowId() {
				return "" + evaluate("id_usuario");
			}
		});
	&lt;/jsp:scriptlet&gt;
	&lt;div align="center" style="width:100%; border:0px;"&gt;
		&lt;display:table id="results" class="its" pagesize="10" name="requestScope.results.rows" decorator="dyndecorator"&gt;
			&lt;display:column sortable="true" property="id_usuario" title="ID" /&gt;
			&lt;display:column sortable="true" property="vc_usuario" title="Usuario" /&gt;
			&lt;display:column sortable="true" property="vc_email" title="Email" /&gt;
			&lt;display:column title="Acoes"&gt;
				&lt;table style="width:10px;" border="0"&gt;
					&lt;tr&gt;
						&lt;td&gt;
							<a  >
								<img     />
							</a>
						&lt;/td&gt;
						&lt;td&gt;
							<a >
								<img     />
							</a>
						&lt;/td&gt;
					&lt;/tr&gt;
				&lt;/table&gt;
			&lt;/display:column&gt;
	
		&lt;/display:table&gt;
	&lt;/div&gt;
&lt;/jsp:root&gt;

Acontece que em qualquer lugar...se aparecer algum acento dá este erro:

org.apache.jasper.JasperException: /includes/usuarios.jsp(33,11) Invalid byte 2 of 3-byte UTF-8 sequence.

Como eu arrumo?

9 Respostas

eltonk

Altera o CharSet para ISO-8859-1

&lt;jsp:directive.page contentType="text/html; charset=ISO-8859-1" /&gt;

deve resolver :slight_smile:

Thiago_Ananias

:( ainda esta dando este erro

[quote]Invalid byte 2 of 3-byte UTF-8 sequence[code]

marcelo_emanoel

Só uma sugestão: pelo código que vc mostrou vc mexe com sql no próprio jsp. tente ao máximo evitar esse tipo de comportamento. JSP devem meramente exibir informações. Procure remover essa lógica da apresentação usando servlets ou qq outro framework. Dessa maneira que está, vc continua programando em ASP com um outro “idioma”. :slight_smile: Procura informações sobre os frameworks web que tem por aí. Struts 2, JSF, Spring, DWR esse tipo de coisa… vc vai ver que o código fica diferente… mais legivel e sem a necessidade de cometer esse tipo de falhas :slight_smile:

Abraço

eltonk

Thiago

Poste o stacktrace completo… o erro pode estar ocorrendo antes disso…

[]s

Thiago_Ananias
org.apache.jasper.JasperException: /includes/amadeus.jsp(162,30) Invalid byte 2 of 3-byte UTF-8 sequence.

org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)

org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)

org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)

org.apache.jasper.compiler.JspDocumentParser.parse(JspDocumentParser.java:214)

org.apache.jasper.compiler.ParserController.doParse(ParserController.java:199)

org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)

org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:167)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)

org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs.

valew eltonk!

Thiago_Ananias

Pessoal! Obrigado pelas dicas! Eu estou utilizando Struts! mas ainda estou tendo problemas com acentuacao!! o que acontece?! As pelavras as vezes vem zoadas mas as vezes vem corretas! coisa de louco!
oq pode ser?

H

Você está fazendo includes em seu JSP, altere em todos os JSP’s o charset para ISO-8859-1

Thiago_Ananias

Seguinte eu já tentei utilizar meta tags, diretiva e o carset lá com response mas continua dando esse embaralhamento das letas com acento! o engraçado é que quando eu salvo a pagina pelo Eclipse e mando rodar dnovo ela vem correta! mas se eu executo direto ela vem zoada

Thiago_Ananias

Pessoal ninguem mais tem ideia do que pode ser? eu já mudei em todos os meus JSP’s procurei no find no eclipse todos os arquivos que tinham UTF-8 e meudei pro ISO mas ainda naum deu certo…

Criado 7 de maio de 2007
Ultima resposta 16 de out. de 2007
Respostas 9
Participantes 4