Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    54

    Problema caratteri speciali in database SQL

    Ciao a tutti, sono appena ora riuscito a risolvere un problemuccio riguardo l'inserimento dei caratteri speciali nei cookie tramite JSP utilizzando la codifica Base64..

    Ora mi trovo a fronteggiare un secondo problema:
    per inserire nel database dei caratteri speciali ho per forza bisogno di utilizzare di nuovo la codifica Base64 ? Il problema più grosso sta nel fatto che non posso inserire nella query di sql l'apostrofo, ad esempio...

    codice:
    inser into miodb(città,nazione) values ('L'Aquila','Italia')
    Questo non funzionerebbe, perchè il carattere speciale ' è un carattere speciale anche di sql, come si può risolvere questa cosa? anche per questo conviene la codifica Base64 ?

  2. #2
    i caratteri speciali (nel senso di codifiche) non c'entrano nulla. gli è che l'apice è un delimitatore di literal, quindi il parser sbrocca. molto semplicemente rimpiazza ' con '' (due apici singoli al posto di un apice singolo)

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    54
    Ma se sostituisco gli ' con " poi successivamente avro' problemi se il mio utente inserisce il carattere "
    Forse non mi son spiegato bene, vorrei che nel campo del mio db io possa inserire un qualsiasi carattere speciale e fare in modo che non vada in conflitto con la query.
    Se anche io sostituissi tutti gli ' con ", quando il mio utente scriverà una roba del genere :
    blablablabla "ciao blablabla blabla
    Il mio codice sql non funzionerebbe, il mio problema è questo
    cioè in poche parole la query risultere:

    codice:
    inser into table(campo1) values ("blabla ciao" blabla")
    E neanche questo funzionerebbe

    Come risolvere ?

  4. #4
    Originariamente inviato da rodfval
    Come risolvere ?
    leggendo *con attenzione* quello che ti ho scritto

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    54
    Scusami non ho prestato attenzione a quello che hai scritto fra parentesi
    Comunque ho capito lo stesso metodo che si usa in jsp per scrivere il backslash (cioè se ne mettono due)

    Grazie !

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    54
    Mi da sql syntax error anche così, ma quello che intendevi tu era di scrivere una roba del genere:
    ?
    codice:
    insert into sezione (Zona, Tipologia, Via, Descrizione) values (''valore1'',''valore2'',''valore3'',''valore4'')

  7. #7
    none, devi raddoppiare SOLO dove serve, mica ad muzzum

    codice:
    insert into tabella (campo) values ('L''Aquila')

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    54
    Facendo così non risolvo il problema, almeno solo parzialmente, nel senso che quei valori che inserisco nei campi li chiedo tramite un form in html e li recupero in una pagina JSP..

    Allora a questo punto avrei due soluzioni XD

    1) scrivere e ricordare all'utente che tutte le volte che inserisce un apostrofo deve inserirne 2...... lol una cosa pò stupida

    2) Creare un ciclo nella mia pagina jsp che mi fa una ricerca all'interno del valore inserito , mi divide tutto inserendo i valori in un array usando come divisore ' , reincollare tutti gli array su una stringa e inserire fra questi array incollati due apostrofi anzichè uno solo

    Penso che sia meglio appoggiarsi alla seconda opzione, immagino che sia fattibile

    Vabbè ora si parla di JSP , il problema in SQL è risolto ^^

  9. #9
    1. non va bene costringere l'utente
    2. basta fare una replace quando fai l'inserimento/update

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    54
    un replace ? cioè ?

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.