Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Strano problema con header()

    Salve,
    so che problemi con la funzione header() sono stati dibattuti spesso, ma il mio è un problema diverso e, a mio parere, inspiegabile.

    La funzione header() mi serve per impostare il set di caratteri a UTF-8.
    Il codice che uso è
    codice:
    <?
    header("Content-type:text/html;charset=utf-8"); 
    ?>
    Come risultato però ottengo il famoso errore "Warning: Cannot add header information - headers already sent by..."

    Prima del codice PHP che ho riportato non c'è assolutamente nulla. Anzi, per prova ho creato un file vuoto e ci ho inserito solo quella riga di codice e ottengo comunque l'errore.
    La sintassi è sicuramente corretta perchè la uso anche su altri siti che funzionano.

    La cosa ancora più strana è che anche sul server che uso per il sito su cui sto lavorando funzionava, ma da un certo momento ha iniziato a dare l'errore. La domanda quindi è: può dipendere dal server secondo voi?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    A questo punto direi proprio di si... Sai su cosa gira il sito?

  3. #3
    Apache su server Linux

  4. #4
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Non puoi usare l'HTML std?

    codice:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    [.:: JaguarXF ::.]
    __________________

  5. #5
    Sì, questo già lo uso.
    Devo inviare anche l'intestazione in UTF-8 perchè è richiesto dal W3C e dal suo validatore...

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120

    Re: Strano problema con header()

    Originariamente inviato da apusoft
    "Warning: Cannot add header information - headers already sent by..."
    by chi? Completa l'errore...

  7. #7
    by il nome del file che contiene il codice alla riga che contiene l'istruzione header()

  8. #8
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Originariamente inviato da apusoft
    Sì, questo già lo uso.
    Devo inviare anche l'intestazione in UTF-8 perchè è richiesto dal W3C e dal suo validatore...
    .. e quante volte lo usi??

    [.:: JaguarXF ::.]
    __________________

  9. #9
    Scusate se uppo il 3d dopo 2 anni ma sono capitato qui da google perchè avevo lo stesso problema.. posto la soluzione, non sia mai che eviti cosi a qualcuno di perdere un pomeriggio alla ricerca di un errore "invisibile" come questo.

    Il problema è in un carattere invisibile, il Byte Order Mark, che alcuni editor aggiungono all'inizio del file per indicarne il tipo di codifica Unicode. Il carattere è invisibile con un editor, anche impostando l'apposita funzione che visualizza i caratteri nascosti; potete comunque notarlo con un qualsiasi programma esadecimale.

    La soluzione è nel salvare il file senza il carattere; a questo punto, dipende dall'editor che usate. Alcuni come Ultra-Edit lo fanno di default, per altri va impostato manualmente (su Notepad++ dovete usare dal menu Formato => Codifica in UTF-8 (senza BOM).


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.