Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130

    [xml] problema con caratteri speciali in un feed creato con PHP

    ciao ... spiego il mio dilemma ...

    ho scritto un feed rss in PHP pescando da database i dati che inserisco nei tag rss. solita storia insomma ... lo fanno tutti ormai! ;-) mi rimane un problema con alcuni caratteri speciali:

    all'interno del tag <description> ho inserito una sezione <![CDATA[ ... ]]> in cui butto alcuni contenuti del db. non uso i caratteri speciali per l'html (come &agrave dato che in CDATA tutto è permesso. Inoltre quando sparo il feed con PHP setto degli header relativi alla codifica (UTF-8) e al mime type (xml in nel caso degli rss). eppure quando visualizzo col browser l'rss i caratteri come "è" o "à" mi vengono visualizzati come punto di domando ("?")

    che ne pensate!???

  2. #2
    Il file dell'RSS (sia esso un semplice XML o un file PHP in cui forzi l'header Content-Type su application/rss+xml) deve essere salvato sul tuo PC (e quindi inviato sul server) con la codifica UTF-8. Non basta specificare charset=UTF-8 negli headers del file, perché se il file è salvato con la codifica ANSI o Latin1, sarà questo il character set con cui verrà visualizzato. In altre parole, dipende da come hai impostato il tuo editor per il salvataggio dei file.

  3. #3
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    Perchè dici che:

    "Il file dell'RSS (sia esso un semplice XML o un file PHP in cui forzi l'header Content-Type su application/rss+xml) deve essere salvato sul tuo PC" ???

    Io in realtà non lo salvo da nessuna parte. l'utente clicca sul link al file php che genera la pagina con intestazioni xml e codifiche varie e il gioco finisce li.

    poi dici che:

    "... perché se il file è salvato con la codifica ANSI o Latin1 ..."

    Ma salvato da chi?

    grazie

  4. #4
    Intendo dire che tu parti comunque da un file per generare l'RSS...sia esso un semplice XML che un PHP. Presumo che il file tu l'abbia creato sul tuo PC con un editor testuale e quindi l'abbia inviato sul server...

    Il file conterrà un codice PHP, no? Quindi è un file di testo...però devi vedere come lo ha salvato il tuo editor, ovvero che codifica usa. Se non ha usato UTF-8, anche se usi PHP per forzare l'header del character set su UTF-8, se il file non è codificato in UTF-8, la cosa non funziona. In altre parole, il charset deve rispecchiare la reale codifica con cui hai salvato il file.

  5. #5
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    boh non so! sta cosa non mi è mai capitata ... ma sei sicuro che dipende da quello? ma come si fa a dire all'editor in che codifica salvare?

  6. #6
    Non so se dipenda da quello, ma di solito è la prima cosa da controllare se nonostante la codifica impostata negli headers sia UTF-8, i caratteri particolari non appaiono correttamente.

    Le impostazioni dipendono dall'editor che usi, quindi devi cercare nella sua guida se e come impostare la codifica dei file. Per farti un es. banale, con Blocco Note di Windows XP, quando salvi un file hai un menu a tendina nella finestra Salva con nome in cui scegliere la codifica (di default è ANSI).

    Se non è il file potrebbe essere il database...bisogna impostare anche quello perché lavori con UTF-8, ma se nelle altre pagine ti dà risultati corretti, non penso sia un problema della codifica usata nel database.

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.