Ir para conteúdo

Arquivado

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

SamBuilder

Erro de Cabeçalho header Paginação utf-8

Recommended Posts

Olá Pessoal,

Estou tendo dificuldades para resolver um problema com a chamada do header para o charset UTF-8 no início dos meus scripts.

Localmente o sistema funciona beleza sem nenhum erro. Quando envio para o servidor o sistema me retorna uma mensagem de alerta.

Warning: Cannot modify header information - headers already sent by (output started at /home/virtual311/public_html/site/institucional.php:1) in /home/virtual311/public_html/site/institucional.php on line 2

Esse é meu script:
<?php
header("Content-Type: text/html; charset=UTF-8",true);
?>

Já fiz algumas pesquisas e parece que vários programadores já passaram pelo mesmo problema mais ainda não consegui resolver com as dicas sugeridas.

Se alguém puder ma dar mais uma luz fico grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Para a função header funcionar corretamente, NÃO pode haver NENHUMA saída (echo, print_r, html, warning, etc) antes dela. Nem mesmo espaços em branco (" "). Por esse motivo, normalmente ela é uma das primeiras instruções a serem executadas.


O que está acontecendo com você, é que existe alguma saída antes dela. Verifique se não há espaços vazios, linhas em branco, ou qualquer outro conteúdo. Verifique também se seu arquivo está no formato "UTF-8 sem BOM" (ou "UTF-8 without BOM").

Compartilhar este post


Link para o post
Compartilhar em outros sites
Para a função header funcionar corretamente, NÃO pode haver NENHUMA saída (echo, print_r, html, warning, etc) antes dela. Nem mesmo espaços em branco (" "). Por esse motivo, normalmente ela é uma das primeiras instruções a serem executadas.
O que está acontecendo com você, é que existe alguma saída antes dela. Verifique se não há espaços vazios, linhas em branco, ou qualquer outro conteúdo. Verifique também se seu arquivo está no formato "UTF-8 sem BOM" (ou "UTF-8 without BOM").

Como Faço pra verificar se estar no formato UTF-8 sem BOM?

Já verifiquei e não tem nenhum caractere antes do declaração header, nem espaços em branco. Utilizo o editor Notepad++

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dependendo da versão do Notepad++, vai ser uma destas opções:

remove-bom-with-notepadv7.gif

ou

585_encoding.jpg

Se ainda assim não der certo, teste as opções que contenham "UTF-8".

Obs: no rodapé do Notepad++ é exibido a codificação atual do arquivo (conforme o primeiro print-screen)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Show de bola. Funcionou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ment0r
      Boa tarde pessoal, tudo bem?

      É possível remover o cabeçalho e rodapé da impressão de uma página html via php, css ou javascript? Já adianto que não gostaria de gerar pdf, mas sim saber se é possível remover ou não.
      Obrigado a todos.
       

    • Por rafaelhslemes
      Eai, boa tarde. Estou desenvolvendo um site, e na página de registro onde estou tentando inserir título e labels para o cadastro, não aparece nada além do header da página. Segue o código abaixo da página de registro, junto com o print do site:
       
      <?php   ?>   <!DOCTYPE HTML> <html> <head>     <title>Registro - Ovelha Clone</title>     <link rel="stylesheet" type="text/css" href="style.css"> </head> <body>     <?php include("header.php") ?>     <center>         <h1>Registro</h1>         <div class="panel">             <form method="POST"                 <table width="50%">                     <tr>                         <td style="float: right;">Nome</td>                         <td><input type="name" name="nome" placeholder="Nome"></td>                     </tr>                 </table>             </form>         </div>     </center> </body>      

    • Por Negrito
      Olá Pessoal, 
       
      Converti o banco de dados de uma app em ASP Classico de MSSQL para MySQL para redução de custos e percebi que alguns componentes ou recursos não estão mais funcionando devido a não compatibilidade com o MySQL , como por exemplo a função : RecordCount
       
      Já consegui converter e atualizar 95% de aplicação para rodar com o MySQL, mas tem 1 item que esta tirando meu sono e após dias pesquisando, resolvi pedir ajuda.
       
      Segue o meu codigo abaixo , onde estou com problema no resultado dessa operação:
       
      <%
      ...
      Set RS = Server.CreateObject("ADODB.Recordset")
      RS.CursorLocation = 3
      RS.CursorType = 3
      RS.ActiveConnection = Cn
      RS.Open strSQL, Cn, 3, 3
      RS.PageSize = 25
      RS.CacheSize = RS.PageSize
      intPageCount = RS.PageCount
      intRecordCount = RS.RecordCount
          If NOT (RS.BOF AND RS.EOF) Then
      If CInt(intPage) > CInt(intPageCount) Then intPage = intPageCount
          If CInt(intPage) <= 0 Then intPage = 1
              If intRecordCount > 0 Then
                  RS.AbsolutePage = intPage
                  intStart = RS.AbsolutePosition
                  If CInt(intPage) = CInt(intPageCount) Then
                      intFinish = intRecordCount
                  Else
                      intFinish = intStart + (RS.PageSize - 1)
                  End if
              End If
          If intRecordCount > 0 Then
              For intRecord = 1 to RS.PageSize
          QntExibicoes = QntExibicoes + Rs.fields("views")
      ...
      %>
       
       
      Já percebi que a função RecordCount não pode ser usada com o MySQL ou pelo menos não é compativel.
       
      A paginação esta funcionando ! 
      Porem , não consigo fazer ele calcular a quantidade de linhas (rows) do MySQL com a função RecordCount e acredito que possa ter alguma outra função que não esta compativel , mas como não conheço MySQL , não posso afirmar.
       
      Enfim, algum pode me dar uma luz ?
       
      Desde já agradeço pela atenção.
       
      Obrigado.
    • Por RodrigoWD3
      Pessoal boa tarde, estou criando uma galeria com categorias no php e mysql, gostaria de saber como faço para colocar um botão -  Exibir Mais Fotos - fazendo exibir o restante dos registros na mesma pagina, teria alguma forma de limitar as fotos sem usar o LIMIT do sql? pode ser usando jQuery algo assim , obrigado
    • Por LucasLV
      Boa tarde.
      Estou fazendo um script que faz o download de arquivos de acordo com uma referência no bd, para que os usuários não saibam e não tenham acesso ao local original.
      Ele faz o download corretamente, mas na hora de abrir o arquivo ele não abre, aparece que a extensão está incorreta ou o arquivo corrompido.
      Com arquivos PDF ele funciona normalmente, mas testei com arquivos jpg, mp4, zip e rar, e nenhum deles abriu.
       
      Esse é o código que faz o download:
      $r = $con->executar("SELECT `MENSAGENS_COD`,`ARQUIVO` FROM `LINKS_ARQUIVOS` WHERE `REFERENCIA` = ?;",array($_GET['file']),"F"); header('Content-Disposition: attachment; filename=Anexo Mensagem '.$r['MENSAGENS_COD'].'.'.pathinfo($r['ARQUIVO'],PATHINFO_EXTENSION)); header('Content-Type: '.mime_content_type($r['ARQUIVO'])); header('Content-Transfer-Encoding: binary'); header('Content-Length: '.filesize($r['ARQUIVO'])); readfile($r['ARQUIVO']);  
      Pesquisando na internet vi exemplos com o content-type como octet/stream e sem esse contetnt-transfer-encoding, mas fiz testes com essas modificações e não obtive êxito.
      Também vi que quando abro os detalhes do arquivo (imagem) no Windows, o arquivo do servidor exibe as informações corretamente, como largura e altura, já o arquivo baixado não exibe nada.
×

Informação importante

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