Jump to content
Filipe Oliveira

[Resolvido] Problema com acentuação php e html!

Recommended Posts

Filipe Oliveira

Estou a tentar fazer um site de noticias gaming, e o meu primeiro site por isso pedia uma ajudinha!

O problema inicial:

Quando listo os registos os que têm acentuação aparecem assim �.

 

Problema atual:

Utilizei a tag  header("Content-Type: text/html; charset=ISO-8859-1",true); mas com isto os registos passaram a aparecer com acentuação mas a acentuação do html passou a aparecer tipo Ã.

 

Código que lista as noticias:

<?PhP
     if(!isset($_GET["ordenar"])) 
        {
            $ordenar="titulo";
        }
     else
        {
            $ordenar=$_GET["ordenar"];
        } 
     
     if($ordenar=='referencia') 
        { 
            $ordenar_por="order by referencia"; 
        }
     if($ordenar=='titulo') 
        {
            $ordenar_por="order by titulo"; 
        } 
     if($ordenar=='nomejogo') 
        { 
            $ordenar_por="order by nomejogo"; 
        }
     if($ordenar=='dataregisto') 
        {
            $ordenar_por="order by dataregisto DESC";
        }

     include("LigaBD.php");                            
     
     $lista="SELECT * FROM noticias WHERE publicado!=0 $ordenar_por";        
     $faz_lista=mysqli_query($ligaBD, $lista);          
     $num_registos=mysqli_num_rows($faz_lista);         
     
     if($num_registos==0)                             
        {
            echo "<script>alert('Nao existem noticias para listar!');</script>";
            exit('<script>location.href = "ADMINISTRADOR.php"</script>');
        }

        
        function limita_caracteres($texto, $limite, $quebra = true){            //Codigo para delimitar texto tirado de uma base de dados
         $tamanho = strlen($texto);
          if($tamanho <= $limite){                                                 //Verifica se o tamanho do texto é menor ou igual ao limite
                $novo_texto = $texto;
               }else{                                                                 // Se o tamanho do texto for maior que o limite
            if($quebra == true){                                                 // Verifica a opção de quebrar o texto
                $novo_texto = trim(substr($texto, 0, $limite))."...";
            }else{                                                                 // Se não, corta $texto na última palavra antes do limite
                 $ultimo_espaco = strrpos(substr($texto, 0, $limite), " ");         // Localiza o útlimo espaço antes de $limite
                $novo_texto = trim(substr($texto, 0, $ultimo_espaco))."...";     // Corta o $texto até a posição localizada
        }
       }
       return $novo_texto;                                                         // Retorna o valor formatado
    }
?>

<html>    
    <head>
        <style type="text/css">        

            img
               {
                float: center;
                margin: 5px;
                width: 120px;
                height: 80px;
            }

            tr th{
                padding: 5px 25px;
            }

            td{
            padding: 0px 8px;
            max-width: 400px;
            text-align: center;
            }

        </style>
    </head>
    <body bgcolor="#C0C0C0">                                                                                 <!--cor de fundo da pagina-->
        <table border="1" align="center" bgColor=white bordercolor=#0d0d0d>
            <tr><th Colspan=11 bgColor=white bordercolor=#0d0d0d>Noticias Publicadas: <?php echo "$num_registos"; ?>                <!--Cabecalho da tabela-->
            <tr>
                <tr bgColor=white bordercolor=#0d0d0d>
                <th><a href="ListarNoticiasPublicadas.php?ordenar=referencia">Referencia da noticia</a></th>
                <th><a href="ListarNoticiasPublicadas.php?ordenar=titulo">Titulo da noticia</a></th>
                <th>Descricao da noticia</th>    
                <th><a href="ListarNoticiasPublicadas.php?ordenar=nomejogo">Nome do jogo</a></th>
                <th>Imagem da noticia</th>     
                <th><a href="ListarNoticiasPublicadas.php?ordenar=dataregisto">Data de registo</a></th>
                <th>Ocultar</th>
                <th>Editar</th>
                <th>Eliminar</th>                                
            </tr> 
            <?php
                header("Content-Type: text/html; charset=ISO-8859-1",true);                //Código para a acentuacao

                for ($i=0; $i<$num_registos; $i++) 
                    {
                        $registos = mysqli_fetch_array($faz_lista);     
                        echo'<tr>';                                                                     
                        echo'<td>'.$registos['referencia'].'</td>';           
                        echo limita_caracteres('<td>'.$registos['titulo'].'</td>', 40);          
                        echo limita_caracteres('<td>'.$registos['descricao'].'</td>',300);
                        echo'<td>'.$registos['nomejogo'].'</td>';             
                        echo'<td>'."<img src='Imagens/".$registos['imagem']."'>".'</td>';     
                        echo'<td>'.$registos['dataregisto'].'</td>';
                        echo'<td><a href="OcultarNoticia.php?referencia='.$registos['referencia'].'">Ocultar noticia</a></td>';
                        echo'<td><a href="EditarNoticiaPublicada.php?referencia='.$registos['referencia'].'">Editar noticia</a></td>';    
                        echo'<td><a href="EliminarNoticiaPublicada.php?referencia='.$registos['referencia'].'">Eliminar noticia</a></td>';    
                    }
                echo"<br>";
            ?>
        </table>
    </body>
</html>

 

Edited by Filipe Oliveira
Resolvido

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.