Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [PHP\MySQL] Apostrofi Accenti nel database

    Ciao,


    Ho un problema che non ho mai avuto prima, quando inserisco dei dati nel database, ad esempio:

    è una prova

    diventa:

    è la prova


    unità ecc...

    Non so perchè ma non era mai successo prima

  2. #2
    questo perché hai problemi con la codifica

    stai usando UTF8 con il browser ma latin1 nella connessione e/o nel database

    per lavorare con UTF8 devi, oltre all'interfacciamento con il browser in UTF8, impostare sia la connessione sia le tabelle del database in UTF8 altrimenti le codifiche sono sballate anche se a livello utente finale risulta tutto OK

  3. #3
    utf8_swedish_ci ho messo questo ma non è cambiato niente...

    Per la connessione al database come in utf8 come faccio?

  4. #4
    forse ti conviene filtrare ciò che carichi nel db con htmlspecialchars... solitamente i browser hanno problemi a leggere le varie lettere accentate e/o caratteri speciali. Per leggere una è per esempio nel browser dovresti scrivere nell'html è

  5. #5
    no, allora, htmlspecialchars come anche htmlentities possono essere utili per svariate situazioni, come ad esempio inviare al browser un testo che deve stare dentro una casella di input o dentro una casella di testo altrimenti si corre il rischio che i valori inseriti dall'utente possano variare l'html della pagina chiudendo ed aprendo tag

    ma non è questo lo specifico problema!

    Per risolvere il problema della codifica hai due opzioni, lanciare 2 query che la settino
    mysql_query("SET CHARACTER SET utf8");
    mysql_query("SET NAMES utf8");

    Qui trovi qualche info a riguardo
    http://dev.mysql.com/doc/mysql/en/Ch...onnection.html

    altrimenti puoi usare la funzione
    http://it2.php.net/manual/it/functio...et-charset.php

    ma devi avere una versione di php uguale o superiore alla 5.2.3

    Ovviamente con questa soluzione quello che c'è nel db cosi rimane per il semplice motivo che variare la codifica comporta anche una variazione dei contenuti: devi lanciare uno script che legga latin1 e riscriva in UTF8

    Con
    http://it2.php.net/manual/it/functio...t-encoding.php

    puoi verificare la codifica usata da php per la comunicazione, che non sarà UTF8

  6. #6
    Che grandissima rottura

    E' la prima volta che mi capita una cosa del genere...


    Cmq adesso funziona, grazie mille

  7. #7
    Originariamente inviato da SkOrPiOn`87
    Che grandissima rottura

    E' la prima volta che mi capita una cosa del genere...


    Cmq adesso funziona, grazie mille
    vuol dire che prima non avevi mai usato UTF8

  8. #8
    Continuo a non capirci niente...


    Adesso ho l'output del flash giusto, ma quello html sbagliato...

    ma che devo fare per avere una cosa unica?

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.