• User Attivo

    Visualizzazione scorretta degli accenti

    Ho uno strano problema, non so neppure se questa sia la sezione più appropriata per parlarne.

    Praticamente ho creato una pagina con un foglio di stile scaricato da internet (non ricordo da dove, ma non è questo il problema).
    Ora se all'interno delle pagine inserisco un testo statico, va tutto ok, ma se inserisco testo da un database, allora viene visualizzato scorrettamente. In particolare il problema si ha con le parole accentate.

    Es.

    Se scrivo in modo statico la parola "attività", questa viene visualizzata correttamente.
    Ma se la parola "attività" è estrapolata da un database, viene visualizzata con un simbolo al posto della à.

    Non capisco il problema :mmm:

    Qualcuno saprebbe illuminarmi?


  • Consiglio Direttivo

    Ciao freebreathe 😉
    probabilmente il tuo database, o comunque la tabella specifica, non è impostata con codifica idonea (latin/ISO 8859-1), magari è impostata come utf-8.
    Il consiglio che posso darti è quello di trasformare in entità HTML le lettere accentate così da risolvere eventuali, anche futuri, problemi, e questo lo puoi fare utilizzando la funzione htmlentities()
    In questo modo "attività" verrà salvato come "attività" e, anche qualora sposterai il tuo dominio su server che non supportano la codifica ISO 8859-1, non avrai problemi di sorta 😉


  • User Attivo

    Eppure aprendo la tabellacon phpmyadmin, il testo "attività" è salvato correttamente.
    Ho fatto una prova e se lo visualizzo senza utilizzare il css è corretto.


  • User Attivo

    @Samyorn said:

    Il consiglio che posso darti è quello di trasformare in entità HTML le lettere accentate così da risolvere eventuali, anche futuri, problemi, e questo lo puoi fare utilizzando la funzione htmlentities()

    Con questa funzione effettivamente gli accenti tornano al loro posto.
    Però il problema si pone quando visualizzo delle stringhe che hanno tag html all'interno.

    Per esempio
    *Rivoltosi all'assistenza telefonica, l'operatore all'altro capo del filo ha riconosciuto che s�, **in effetti c'era stato un errore ***

    viene visualizzato

    Rivoltosi all'assistenza telefonica, l'operatore all'altro capo del filo ha riconosciuto che sì, <B itxtvisited="1">in effetti c'era stato un errore</B>.

    Come si può ovviare?:?


  • Consiglio Direttivo

    In visualizzazione prova ad usare la funzione html_entity_decode 😉


  • User Attivo

    Ho provato, ma continua a non funzionare 😢


  • User Attivo

    Risolto. L'errore era nel codice html.
    Ho cambiato questa riga

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

    con

    [html]<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    [/html]