Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    628

    [PHP] Lettere ACCENTATE

    Ciao a tutti
    Ho un problema se inserisco in un modulo fatto da me delle lettere accentate può capitare che qualcuna non si vede bene, su Firefox compare una specie di "?"

    Ora come posso uniformizzare questi dati?

    Perchè alla fine vanno inseriti in un db mysql quindi devo cambiare la codifica sia da php che sulla tabella mysql?

    Grazie mille
    Software gratuito per gestire le tue newsletter: Mercurio

  2. #2
    utilizza la funzione htmlentities() per salvare nel database.

    hai un minimo di overhead ma sei sicuro di non avere problemi.

    occhio al charset, quello passato alla funzione deve essere lo stesso impostato nella pagina


    danno

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    628
    Originariamente inviato da dannowonder
    utilizza la funzione htmlentities() per salvare nel database.

    hai un minimo di overhead ma sei sicuro di non avere problemi.

    occhio al charset, quello passato alla funzione deve essere lo stesso impostato nella pagina


    danno
    ma quella funziona converte i caratteri accentanti giusto?


    ma oltre a questo accorgimento devo, settare il charset della pagina e della tabella mysql dove andranno salvati questi dati?
    Software gratuito per gestire le tue newsletter: Mercurio

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    628
    ah poi un altro problema...alle volte questo testo salvato deve essere inviato per email...quindi non si visualizzano bene i caratteri accentati formattati con quella funzione, non c'è una sorta di reverse?
    Software gratuito per gestire le tue newsletter: Mercurio

  5. #5
    il valore del charset da passare e' quello della pagina che invia il form, cioe' quello indicato nei meta tag html. ad esempio per la pagina di questo forum e'
    codice:
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    e il charset quindi l' ISO-8859-1

    la funzione converte tutti i caratteri 'speciali' che hanno un equivalente html e nelle pagine web vengono convertiti a video dal browser, cosi' come nelle email se inviate in formato html.

    se invece vuoi mandarle come testo semplice puoi riconvertire il testo con la funzione inversa che e' html_entity_decode(), anche qui il charset deve coincidere.

    per fugare ogni tuo dubbio www.php.net


    danno

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    628
    Originariamente inviato da dannowonder
    il valore del charset da passare e' quello della pagina che invia il form, cioe' quello indicato nei meta tag html. ad esempio per la pagina di questo forum e'
    codice:
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    e il charset quindi l' ISO-8859-1

    la funzione converte tutti i caratteri 'speciali' che hanno un equivalente html e nelle pagine web vengono convertiti a video dal browser, cosi' come nelle email se inviate in formato html.

    se invece vuoi mandarle come testo semplice puoi riconvertire il testo con la funzione inversa che e' html_entity_decode(), anche qui il charset deve coincidere.

    per fugare ogni tuo dubbio www.php.net


    danno

    Quindi ricapitolando...
    1. La pagina che invia il modulo deve avere settato il charset
    2. la pagina php che deve salvare i dati ricevuti dal modulo nella tabella mysql deve convertire i caratteri particolari con la funzione htmlentities() (e impostare le stesso charset)
    3. la pagina che invia l'email solo testo prima di inviare converte il testo con la funzione html_entity_decode() (anche qui imposto le stesso charset)...dopo ciò..invio...

    Ora una domanda, non è meglio utilizzare il charset UTF-8 ??

    Grazie davvero tanto
    Software gratuito per gestire le tue newsletter: Mercurio

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    628
    up
    Software gratuito per gestire le tue newsletter: Mercurio

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.