Caracteres estranhos no JSP?

10 respostas
jspjava
G

Escrevo assim: Municípios e ele mostra assim: Municípios

Meu código jsp está assim:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>

No html fica assim:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

O que pode ser ?

Já fiz várias alterações que vi na internet e não consegui.

10 Respostas

D

Uma opção é escrever evitando caracteres latinos (eu sei que você configurou teu jsp para o encoding ISO-8859-1 e, teoricamente, não deveria ocorrer problemas).
Mas, para evitar problemas assim, prefira utilizar o mapa de caracteres ou tabela de caracteres ASCII
Exemplo - caracteres:
Fundação - Funda&ccedil;&atilde;o

Exemplo - ASCII
Fundação - Funda&#231;&#227;o

G

Imaginei.

Mas o interessantes que não é em todas as páginas.

W

Boa tarde Guilherme,

E se você colocar assim:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<!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">
</head>
</html>

Não apresenta de maneira correta?

G

@Weverton_Reis, não adiantou.

L

Veja qual codificação seu arquivo foi salvo usando o eclipse (botão direito no arquivo, properties, etc) ou notepad++ da vida podem lhe ajudar a respeito, a partir daí você configura o encoding/charset com base no que o arquivo foi salvo…

Pessoal sempre acaba se confundindo e acha que apenas trocando o encoding/charset tá tudo resolvido, mas… se você chegou a salvar textos no banco de dados, os caracteres podem ter “bugado” desde lá… aí pra resolver, o ideal em projetos web é salvar todos arquivos como UTF-8 e configurar a base para aceitar texto UTF-8 também…

A grosso modo, quando você declara charset=UTF-8 por exemplo, você está dizendo para o navegador…

“Olha, salvei meu arquivo com charset=UTF-8 beleza? Você pode renderizar (apresentar) o texto corretamente para mim?”

O navegador vai olhar seu pedido e dizer…

“Ah, beleza, esse formato que você me indicou eu consigo formatar, chá comigo” :wink:

Mas pode acontecer dele não encontrar esse formato, ou o formato não ser condizente entre o que você disse pra ele e o que você salvou, ou seja, mentiu para o navegador :joy:

O que o navegador faz?

Poxa cara, você me falou que seu formato era UTF-8, só de raiva vou mostrar tudo errado pra você ficar esperto… :joy:

G

Obrigado

Todos estão “ISO-8859-1”

L

Você diz as tags ou os formatos salvos?

G

Nos dois @LostSoldier

Fis o que você informou.

L

E conseguiu resolver?

Lembre-se que se estiver usando banco de dados, precisa arrumar a base também… configurando o charset e depois trocando os textos, infelizmente no braço…

G

A questão do banco de dados, por enquanto está ok.

Somente alguns textos que estou escrevendo no jsp.

Criado 14 de março de 2017
Ultima resposta 14 de mar. de 2017
Respostas 10
Participantes 4