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

    insert che si spezza sulle à

    qualcuno di voi sa come è possibile che in una banalissima insert di un campo passato da form

    es:
    $TESTO = 'QUEL BEL GIORNO CASCò DAL MURO';
    insert into tabella(testo) VALUES('$TESTO')

    il risultato è sempre

    QUEL BEL GIORNO CASC

    invece di

    QUEL BEL GIORNO CASCò DAL MURO
    ------------------------------------
    in sostanza l'insert si interrompe sulle lettere accentate

  2. #2
    Ciao,
    credo che queste cose succedano quando il db non usa lo stesso charset della pagina html (generata dal php) perché in quel caso le informazioni inviate dal client non risultano codificate in modo adeguato al db.

    La soluzione migliore probabilmente è di usare lo stesso charset (io mi trovo bene con ISO-8859-1 ma qui sul forum quasi tutti preferiscono UTF-8) oppure, se non puoi modificare il db e/o la pagina puoi provare ad usare htmlentities che trasforma una serie di caratteri particolari nelle corrispondenti entità (à diventa &_agrave; eccetera):

    Codice PHP:
    $TESTO htmlentities('QUEL BEL GIORNO CASCò DAL MURO');
    insert into tabella(testoVALUES('$TESTO'
    però non ti assicuro che funzioni, anch'io litigo sempre con i charset.

    Ciao
    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  3. #3
    NonCeLaFaccio+ grazie così sembra inserire



    solo che non credo si a prova di "bomba" come gestione delle stringhe..

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Scusa, ma come fa a funzionarti se scrivi così? VALUES('$TESTO')
    Hai sbagliato a scriverlo qui e nel codice hai VALUES("$TESTO") ?

  5. #5
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Originariamente inviato da Alhazred
    Scusa, ma come fa a funzionarti se scrivi così? VALUES('$TESTO')
    Hai sbagliato a scriverlo qui e nel codice hai VALUES("$TESTO") ?
    nel codice evidentemente sarà così
    Codice PHP:
    $sql="insert into tabella(testo) VALUES('$TESTO')"
    va bene il singolo apice

  6. #6
    Alhazred il problema non era la insert ma la stringa e il charset

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.