Back to top

Autore Topic: [Problema] - Errore visualizzazione caratteri speciali nel title e in latestnews  (Letto 3098 volte)

Offline Davide84x

  • Nuovo arrivato
  • *
  • Post: 32
  • Sesso: Maschio
    • Mostra profilo
Salve ragazzi,
ho un problema nel sito http://www.travelandeating.com fatto con Joomla 1.5.7

Ho un form per l'inserimento di articoli che gestisco convertendo i testi con la funzione:
$text = htmlentities($text,ENT_QUOTES,'UTF-8');

Il fatto è che nel <title> delle pagine e nei titoli dei moduli latestnews i caratteri speciali vengono visualizzati con il loro equivalente html. Ad esempio se scrivo "l'albero" viene visualizzato "l&amp;#039;albero".
Questo problema non si presenta invece nella visualizzazione deli articoli.

Avete qualche suggerimento?
« Ultima modifica: 25 Nov 2008, 02:13:38 da Davide84x »

Offline Davide84x

  • Nuovo arrivato
  • *
  • Post: 32
  • Sesso: Maschio
    • Mostra profilo
Re: [Problema] - Codifica caratteri
« Risposta #1 il: 19 Nov 2008, 17:36:59 »
Devo fare una precisazione,
mi sono accorto di avere gli stessi  errori di visualizzazione anche nei metadata, che ricavo da stinghe elaborate come nel post precedente.

Nessuno di voi ha mai riscontrato problemi di questo tipo?
Non ho la più pallida idea di come si possano risolvere...

Spero di essermi spiegato ma se non sono stato chiaro chiedere pure.

Grazie,
 Davide


Offline 56francesco

  • Fuori controllo
  • *
  • Post: 29585
  • Sesso: Maschio
    • Mostra profilo
Re: [Problema] - Codifica caratteri
« Risposta #2 il: 19 Nov 2008, 18:02:55 »
ma che versione di joomla stai usando?
(uso XP perchè win98 non si installa) 
PS: non sono un dipendente dello sbonzor quindi è necessario un "per favore" alla richiesta e un "grazie" alla risposta, sempre! PPS: non scrivo mai per primo in MP, in caso contrario chiedimi una conferma, Grazie.

Offline Davide84x

  • Nuovo arrivato
  • *
  • Post: 32
  • Sesso: Maschio
    • Mostra profilo
Re: [Problema] - Codifica caratteri
« Risposta #3 il: 19 Nov 2008, 18:19:16 »
Uso Joomla 1.5.7

Offline Davide84x

  • Nuovo arrivato
  • *
  • Post: 32
  • Sesso: Maschio
    • Mostra profilo
Re: [Problema] - Codifica caratteri
« Risposta #4 il: 25 Nov 2008, 00:30:55 »
In questi giorni sto cercando di andare un po' a fondo a questo problema che non riesco a risolvere!

Nella tabella jos_content del database tutti i caratteri speciali vengono salvati con il loro equivalente html (l'ho imposto io con htmlentities, poichè questi dati vengono presi da un mio form). Ad esempio l'apostrofo ' viene sostituito con &#_039; (ho aggiunto _ perchè se no me lo convertiva in apostrofo nel post!)

Il problema è che quando viene generato il <title> della pagina anche la & viene convertita con il codice corrispondente e pertanto quando c'è un apostrofo (o altri caratteri speciali) nel <title> della pagina viene visualizzato &amp;#039; anzichè '

Questo problema non ce l'ho invece con la description o il testo dell'articolo... e nemmeno con il titolo dell'articolo visualizzato in mezzo alla pagina.


Dettagli sulla mia configurazione:
- Joomla 1.5.7
- Nel mio database la tabella (jos_content) ha codifica utf8_general_ci, così come i suoi campi.
- Inoltre ho impostato nell'index.php del template:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

Qualcuno ha idea di dove guardare nei file di joomla per risolvere il problema?

P.S:
Ho provato a modificare il file
components\com_content\views\article\view.html.php
agendo sulla riga:
$document->setTitle($title);
e cambiandola in
$document->setTitle(html_entity_decode($title));
ma rimane tutto come prima.

Offline Davide84x

  • Nuovo arrivato
  • *
  • Post: 32
  • Sesso: Maschio
    • Mostra profilo
Ragazzi ho risolto il problema in modo piuttosto "barbaro".

Il problema penso sia che, dato che applico htmlentities ad dati prima di memorizzarli nel datatabase, in alcuni casi su di essi viene riapplicata una seconda volta questa conversione nel codice di joomla, convertendo anche tutte le & dell'equivalente html dei caratteri speciali e dando origine al problema descritto sopra.

Per quanto riguarda il modulo latestnews, ho modificato il file modules\mod_latestnews\helper.php in questo modo:
In:
Codice: [Seleziona]
$lists[$i]->text = htmlspecialchars( $row->title );
Ho eliminato htmlspecialchars:
Codice: [Seleziona]
$lists[$i]->text = $row->title;

Per quanto i <title> degli articoli sono andato a modificare la function del file components\com_content\views\article\view.html.php.
Nell'originale c'è:
Codice: [Seleziona]

$document->setTitle($title);
che ho modificato in:
Codice: [Seleziona]

$document->setTitle(html_entity_decode($title,ENT_QUOTES,'UTF-8'));


Accetto volentieri eventuali critiche su questa soluzione o eventuali alternative.

Spero che quando scritto possa essere utile a chi eventualmente di trovi ad avere lo stesso mio problema.


« Ultima modifica: 25 Nov 2008, 02:14:27 da Davide84x »

 



Web Design Bolzano Kreatif