Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia,
Estou com um problema na acentuação, criei uma página chamada noticias, nessa página tem um campo chamado conteudo até aqui tudo ok.
Dai eu criei a pagina view.php que vai mostrar a noticia, só q quando mando mostrar o campo contéudo não aparece os acentos aparece aquele monde de letra nada vé e umas interrogação, coloquei já em UTF-8 a pagina e não resolveu.
Alguem sabe como posso arrumar isso ?
<?php
// Mostrar Data na Tela.
$titulo = array();
$data = array();
$link = array();
$quantos = 10;
$exibir = 10;
$limite_title = 100;
foreach(simplexml_load_file("http://rss.noticias.uol.com.br/ultnot/index.xml")->channel->item as $item)
{
$titulo[] = utf8_decode(substr($item->title, 0, $limite_title)."...");
$link[] = utf8_decode($item->link);
$data[] = utf8_decode($item->pubDate);
$quantos++;
}
for($i = $quantos-($exibir+10); $i < $quantos-10; $i++)
{
if ($titulo[$i]!="")
{
echo
'<p class="data_noticias"><br/>'.str_replace(" ", " às ", date('d/m/Y H:m:s', strtotime($data[$i]))).' -
<a href="'.utf8_decode($link[$i]).'" target="_blank" title="Leia mais clicando aqui!" class="classe2">'.utf8_decode($titulo[$i]).'</a>';
}
}
?>
Desde já agradeço pela ajuda
Mayck
Na página não tem mais nada só o script apresentado acima
tenho que adicionar alguma coisa ?
>
Onde você definiu o charset UTF-8? Não é o utf8_decode ali, né?
Na página não tem mais nada só o script apresentado acima
tenho que adicionar alguma coisa ?
Galera foi mal deu erro quando eu envie a resposta
não é minha intenção repetir a mesma resposta várias vezes
Colega de uma lida nesse link, me ajudou bastante quando passei por problema parecido:
Tente assim:
<?php
// Mostrar Data na Tela.
$titulo = array();
$data = array();
$link = array();
$quantos = 10;
$exibir = 10;
$limite_title = 100;
foreach(simplexml_load_file("http://rss.noticias.uol.com.br/ultnot/index.xml")->channel->item as $item) {
$titulo[] = utf8_encode(substr($item->title, 0, $limite_title)."...");
$link[] = utf8_encode($item->link);
$data[] = utf8_encode($item->pubDate);
$quantos++;
}
for($i = $quantos-($exibir+10); $i < $quantos-10; $i++) {
if ($titulo[$i]!="") {
echo
'<p class="data_noticias"><br/>'.str_replace(" ", " às ", date('d/m/Y H:m:s', strtotime($data[$i]))).' -
<a href="'.utf8_encode($link[$i]).'" target="_blank" title="Leia mais clicando aqui!" class="classe2">'.utf8_encode($titulo[$i]).'</a>';
}
}
?>>
Tente assim:
<?php
// Mostrar Data na Tela.
$titulo = array();
$data = array();
$link = array();
$quantos = 10;
$exibir = 10;
$limite_title = 100;
foreach(simplexml_load_file("http://rss.noticias.uol.com.br/ultnot/index.xml")->channel->item as $item) {
$titulo[] = utf8_encode(substr($item->title, 0, $limite_title)."...");
$link[] = utf8_encode($item->link);
$data[] = utf8_encode($item->pubDate);
$quantos++;
}
for($i = $quantos-($exibir+10); $i < $quantos-10; $i++) {
if ($titulo[$i]!="") {
echo
'<p class="data_noticias"><br/>'.str_replace(" ", " às ", date('d/m/Y H:m:s', strtotime($data[$i]))).' -
<a href="'.utf8_encode($link[$i]).'" target="_blank" title="Leia mais clicando aqui!" class="classe2">'.utf8_encode($titulo[$i]).'</a>';
}
}
?>
Agora fica aparecendo em vez de interrogação uns caracteres ex. (que mais investe em inovação)
Você está usando o Notepad++? Qual IDE ou editor você está usando?
Dentro da tag <head> coloque:
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/>Coloca um header e veja se resolve:
header ( " Content-type: text/html; charset = UTF-8 " );
Deu certo!
Depois de tentar tudo que vocês disseram e ainda continuar aparecendo caracteres
eu apaguei uma parte do script mantendo o
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/>
Antes
$titulo[] = utf8_decode(substr($item->title, 0, $limite_title)."...");
Depois
$titulo[] = (substr($item->title, 0, $limite_title)."...");
Ufa!
valeu mesmo a todos que me ajudaram
Mayck
Onde você definiu o charset UTF-8? Não é o utf8_decode ali, né?