Originariamente inviato da luchett
Salve a tutti,
ho un problema con un sito fatto con smarty engine.
In alcune pagine, gli spazi bianchi (&nbsp) si tramutano in "?".
Non ho capito se è un problema di smarty, nel senso che c'è qualche settaggio che regola questo comportamento, o magari è un problema di output di altra natura.
Qualcuno mi sa aiutare?
Mi sento di escludere smarty, ma cos'è che vedi diventare un punto interrogativo, solo la &?

cioè
codice:
&nbsp = ?nbsp
Credo comunque che sia un problema di encoding dei caratteri.

Prova nel browser (firefox:visualizza->codifica caratteri, internet explorer :visualizza->codifica), e prova a cambiare tra occidentale (iso 8859) a Utf8 e viceversa.

Se il punto interrogativo sparisce, vuol dire che il file è codificato in utf8, e di default però l'header della pagina riporta iso8859 (e viceversa), quindi, in questo caso le soluzioni sarebbero 2:

1. Ricodifichi i file sul server in modo che abbiano tutti lo stesso encoding con un editor di testo. (iso 8859, attento che nella trasformazione spesso perdi i caratteri accentati)
2. Se li hai tutti con lo stesso encoding, cambia semplicemente l'header spedito dalla pagina specificando il corretto charset:

codice:
header('Content-type: text/html;charset=utf-8');
Io per non sbagliare setto i file tutti a utf8 e metto l'header sopra riportato all'inizio dei miei script php.

Cosi non dovresti avere problemi di accenti e altri caratteri..