Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Evandro.S Eisinger

[Resolvido] Problema - Acentuação.

Recommended Posts

Oi Pessoal!

 

Estou tendo um problema com a acentuaçao quando utilizo uma funçao que criei para listar os dados.

 

Aqui tem o link para ver o problema (No mes MARÇO): http://www.digimastersonline.com/lauffer/calendario.php

 

Aqui esta a funçao:

 

function mostra_evento($mes){
$src_mes_event=mysql_query("SELECT * FROM tb_calendario WHERE mes='$mes' ORDER BY dia") or die("Erro no select");?>
<p>
<? while($mostra=mysql_fetch_array($src_mes_event)){?>
	DIA <?=$mostra['dia'];?>: <?=$mostra['evento'];?><br/>
<? }?>
</p>
<?
}

Aqui esta a pagina onde chamo a funcão:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Lauffer - Area Administrativa  -</title>
</head>
<body>
<?php
require('conexao.php');
function mostra_evento($mes){
$src_mes_event=mysql_query("SELECT * FROM tb_calendario WHERE mes='$mes' ORDER BY dia") or die("Erro no select");?>
<p>
<? while($mostra=mysql_fetch_array($src_mes_event)){?>
	DIA <?=$mostra['dia'];?>: <?=$mostra['evento'];?><br/>
<? }?>
</p>
<?
}
mostra_evento('JANEIRO');
</body>
</html>

Alguem sabe como arrumar este problema.

 

Um abraço!

 

Evandro.S Eisinger

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique se os arquivo foi criado com UTF-8.

Declare o header no início do código, assim:

header('content-type: text/html; charset=utf-8');
E terceiro e último: verique se o banco de dados está usando UTF-8.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Marcio!

 

Cara eu coloquei o header: http://www.digimastersonline.com/lauffer/teste.php

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Lauffer - Area Administrativa  -</title>
</head>
<body>
<?php
require('conexao.php');
header('content-type: text/html; charset=utf-8');
function mostra_evento($mes){
$src_mes_event=mysql_query("SELECT * FROM tb_calendario WHERE mes='$mes' ORDER BY dia") or die("Erro no select");?>
<p>
<? while($mostra=mysql_fetch_array($src_mes_event)){?>
	DIA <?=$mostra['dia'];?>: <?=$mostra['evento'];?><br/>
<? }?>
</p>
<?
}
mostra_evento('JANEIRO');?>
</body>
</html>

Verifiquei no banco de dados: Collation utf8_bin;

 

So não sei como ver se os arquivos foram criados com UTF-8

 

 

Poderia me ajudar, abraços e obrigado

Evandro.S Eisinger

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique no editor que você usou pra criar o arquivo. Por default, o Dreamweaver CS3, por exemplo, cria como UTF-8.

Compartilhar este post


Link para o post
Compartilhar em outros sites

To com o mesmo problema do Evandro, uso o Dreamweaver CS4 e to com problemas em algumas includes, o código css pode zua a página (porque no código do css do Dreamweaver tem uma linha assim:

 

@charset "utf-8";

 

tem alguma coisa a ver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se esta declaração for incoerente, pode ter problema sim.

Tanto esta informação, quando a meta-tag charset no HTML servem apenas para orientar o browser, dizendo a ele a codificação utilizada.

Se o arquivo não for UTF-8 e você declarar que é UTF-8, o browser vai renderizar como UTF-8, sendo que o arquivo não é UTF-8. E a consequeência disso são os caracteres estranhos que você vê.

Compartilhar este post


Link para o post
Compartilhar em outros sites

UTF-8 = acentos no código, né. Nada de &npsb; ou í ou esses lances, se for anúncios é anúncios no código também né... é isso o acento fica igual?

 

porq se for tá certo... agora se num for vo ter um trabalhão

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por experiencia propria recomendo o uso de latin1 no banco de dados e ISO-8859-1 nas paginas...

 

Existem editores que criam acentos em ISO-8859-1, e a maioria, acho que inclusive o dreamewaver pode ser configurado assim...

 

Mas na duvida, use os velhos amigos á, etc...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sempre usei ISO-8859-1, ele aceita tanto caracteres á como o UTF-8 e dando menos bugs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

UTF-8 é padrão, e é unicode, suporta qualquer caractere, com ou sem acento.

Experimente usar ISO-8859-1 e trabalhar com XML ou Javascript pra ver a desvantagem do ISO-8859-1.

Aliás, trabalhar com UTF-8 é um recomendação e boa prática.

Compartilhar este post


Link para o post
Compartilhar em outros sites

percebi que na página tem um include que aparece tudo certinho e as outras não... tanto utf-8 quanto iso-8859-1, caramba...nunca vi isso na minha vida...

 

deem uma olhada:

site

Compartilhar este post


Link para o post
Compartilhar em outros sites

A página foi apresentada com ISO-8859-1. Todos os caracteres especiais estavam com erro. Mudei pra UTF-8 e o site ficou correto, com exceção das áreas "palavra do diretor" e "cursos". Isto porque provavelmente a informação está armazenada com outra tabela em um banco de dados, de onde ela vem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então... eu vi aqui... na verdade é erro meu... eu uso o dreamweaver cs4 então vou explicar o q se acussede na minha lingua...

 

criei todas as páginas em utf 8 (todas porque faço a estrutura na página e chamo tudo em include - inclusive o head e o body) e no head usei a codificação Europeu Ocidental e esqueci q tinha mudado... resultou nisso q vcs viram... eu então troquei tudo pra europeu ocidental (que já gera os á da vida automáticamente) e ficou tudo beleza.. a solução do utf-8 que o marcio recomendou também funfou mas como vi todos falando que a outra maneira é a mais correta..então fica ai minha dica pra quem ta tendo esse problema com o dreamweaver (acho q outras versões também podem ser concertadas dessa forma):

 

1 - Vão em Modify

2 - Page properties

3 - Title/Encoding

4 - Em Encoding eu troquei pra Europeu Ocidental e dei Ok, aparece uma mensagem e é só clicar em Apply

 

Pra mim resolveu q é uma beleza, Obrigado a galera que ajudou aqui, aprendi muito. E ficam minhas ultimas dúvidas:

 

1 - Europeu ocidental é utf-8 ou ISO- 8859-1, ou nenhum dos dois?

 

2 - Porque q codificar assim é melhor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É melhor por motivos de compatibilidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então porque que quando eu uso ela ná página os caractéres estão ficando errados, se bem que o Marcio falo q fico bom quando ele usou... e é pior ou melhor usar os á da vida?

 

Desculpa o monte de perguntas... é que sou fissurado em saber tudo....hehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

e é pior ou melhor usar os á da vida?
É obrigação sua trocar os á por á

 

UTF-8 é uma codificação Universal;

 

Procure lêr algo sobre UTF-8 e suas qualidades extremamente superiores.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os caracteres especiais do HTML não são mais necessários. Eram utilizados há anos atrás. Por exemplo, você não precisa usar "&eaccute;" pra representar o "é" nos dias de hoje.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque não? teria algum link de artigos atuais sobre este assunto ?

 

Ano passado não faz muito tempo, eu lí alguns artigos sobre um tal movimento de internacionalização da codificação para caracteres especiais, e seria tomada como padrão UTF-8;

Compartilhar este post


Link para o post
Compartilhar em outros sites

É justamente esta internacionalização, cuja recomendação é o UTF-8, que provê caracteres especiais.

Antigamente isto não era padronizado, e alguns browsers e dispositivos não exibiam os mesmos de forma correta.

O Unicode é justamente isso, uma tabela enorme de caracteres, contendo praticamente todos os caracteres, eliminando a necessidade de se utilizar caracteres especiais do HTML. É como se fosse um alfabeto com todos os caracteres do mundo: se um dispositivo suporta Unicode, ele é capaz de representar qualquer coisa.

Se o Unicode é capaz de representar acentos, ce-cedilha, etc, porque utilizar caracteres especiais ? não faz o menor sentido.

 

Sobre o Unicode: http://unicode.org/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixe-me ver se entendi direito

 

á Então não faz parte da lista de caracteres UTF-8?

 

Porque algumas funções de php convertem á para á quando utilizado um parâmetro que seta o conjunto de carácteres para UTF-8?

 

O_O, tá complicando na minha cabeça aksopAKSopAKopAKs

 

EX:

$texto = htmlentities($texto,ENT_NOQUOTES,'UTF-8');

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.