Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,534

    dato dal db con virgolette

    Salve
    in un campo db ho un valore con le virgolette (no apici o doppi apici)
    tipo: BENVENUTI "A VOI"
    ora se lo stampo a video è ok se invece l'rs.fields lo uso come value di un campo input visualizzo solo la parola BENVENUTI escludendo tutto quello dalle virgolette in poi.
    Come mai? Come posso risolvere volendo utilizzare le virgolette nel campo input invece di fare replace o altro?
    Grazie

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,095
    quando si stampano valori che possono compromettere il regolare flusso html si deve imporre la codifica html:

    Server.HTMLEncode(rs.example)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,534
    Grazie, ma supponiamo di avere un testo così "all'estremo":

    QUESTA E' LA TUA CITTA' "MILANO" & CO * ^ & ? ! %

    come posso gestirla in OGNI CASO?
    Inserendola nel db mysql e poi richiamandola anche tramite querystring o altro?
    Leggerla da db etc
    Uso come charset=windows-1252 e sul db latin1_swedish_ci
    Grazie

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,095
    passare via querystring una roba del genere significa andare in cerca di guai.
    ma se serve, tipo per effettuare una ricerca, esiste la funzione Server.URLEncode(string)

    potrebbe servirti, in alcuni contesti, fare il replace
    per fare il decode serve invece una funzione come questa:
    (non è chiaro perché MS non l'abbia messa nativa nel sistema)
    codice:
    Function HTMLDecode(sText)
    Dim I
    sText = Replace(sText, """, Chr(34))
    sText = Replace(sText, "<" , Chr(60))
    sText = Replace(sText, ">" , Chr(62))
    sText = Replace(sText, "&" , Chr(38))
    sText = Replace(sText, " ", Chr(32))
    For I = 1 to 255
    sText = Replace(sText, "&#" & I & ";", Chr(I))
    Next
    HTMLDecode = sText
    End Function
    (verifica la funzione, l'ho presa dalla prima pagina che mi è capitata. comunque il concetto è corretto)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,534
    grazie vincent ma sono bloccato ad una select

    codice:
    cat = request.querystring("tipo")
    
    <option value="<%=Server.HTMLEncode(rsv.fields("tipo"))%>"<%if cat = "" & rsv.fields("tipo") & "" then%> selected="selected"<%end if%>><%=rsv.fields("tipo")%></option>
    Purtroppo la stringa cat non trova nessuna corrispondenza uguale a rsv.fields("tipo")
    ma stampando a video sia il request.querystring che il rsv.fields mi sembrano uguali
    Dove secondo te sbaglio?
    Sul db il dato scritto è: QUESTA TUA CITTA&apos; "MILANO" & CO * ^ & ? ! %
    Grazie 1000 per il tuo preziosissimo aiuto.

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,095
    controlla il sorgente html.
    a video le entità le vedi già l'interpretate.

    il confronto cat<>rsv.fields("tipo") fallo diretto, senza aggiungere virgolette. stai ancora lavorando lato server, non stai ne stampando ne costruendo una query.

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 © 2021 vBulletin Solutions, Inc. All rights reserved.