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

    Replace per caratteri accentati

    Ciao a tutti, mi sta succedendo una cosa strana, prendo dei campi da un form per inserirli in un data base e per creare un file di testo con quel alcune parole prese dal form.
    Dato che potrebbe esserci l'eventualità di scrivere caratteri accettanti voglio fare un replace di questi, ma stranamente la funzione di replace funziona su tutti i caratteri tranne su quelli accentati tipo à

    sto provando in questo modo

    vReturnValue = replace(vReturnValue,"à","a")
    vReturnValue = replace(vReturnValue,chr(224),"a")

    ma non succede nulla, in pratica se scrivo una parola tipo solidarietà, alla fine vorrei avere solidarieta , ma alla fine la parola non viene cambiata

    cosa sto sbagliando?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150

    Re: Replace per caratteri accentati

    Originariamente inviato da ciucciatiilcalzino
    Ciao a tutti, mi sta succedendo una cosa strana, prendo dei campi da un form per inserirli in un data base e per creare un file di testo con quel alcune parole prese dal form.
    Dato che potrebbe esserci l'eventualità di scrivere caratteri accettanti voglio fare un replace di questi, ma stranamente la funzione di replace funziona su tutti i caratteri tranne su quelli accentati tipo à

    sto provando in questo modo

    vReturnValue = replace(vReturnValue,"à","a")
    vReturnValue = replace(vReturnValue,chr(224),"a")

    ma non succede nulla, in pratica se scrivo una parola tipo solidarietà, alla fine vorrei avere solidarieta , ma alla fine la parola non viene cambiata

    cosa sto sbagliando?
    Che db usi?
    Io Oracle 10g.
    Ho avuto lo stesso problema, sia in estrazione (dati sporchi del cliente) sia in inserimento (come il tuo caso).
    In caso di inserimento, eseguo la insert de carattere "à" e poi l'update sul campo del tipo

    [QUOTE]
    update ANAGANNU set DESC_ANNU=replace(DESC_ANNU,chr(128),'a''')
    [/CODE]

    Spero ti possa essere utilie

  3. #3
    il db che uso è access, ma il problema ce l'ho anche quando creo un file di testo dove vorrei eliminare il carattere accentato facendo prima il replace

  4. #4
    niente da fare

    ho fatto l'insert come mi dici tu

    scivendo

    "INSERT INTO TBL_NEWS (ID_Sito, ID_LINGUA, TX_TITOLO, TX_TESTO, DT_DATA, BL_OFFERTA, TX_SOTTOTITOLO) VALUES ("&v_obj.IDSito&",'"&v_obj.IDLingua&"','"& eplace(v_obj.Titolo,chr(225),"a") &"','"&FormatStringForSQL(v_obj.Testo)&"','"&Forma tStringForSQL(v_obj.Data)&"',"&v_obj.Offerta&", '"&FormatStringForSQL(v_obj.Sottotitolo)&"')"

    e ottendo quindi


    INSERT INTO TBL_NEWS (ID_Sito, ID_LINGUA, TX_TITOLO, TX_TESTO, DT_DATA, BL_OFFERTA, TX_SOTTOTITOLO) VALUES (30,'IT','solidarietà','prova','20070713',1, '')


    nel database mi scrive questo valore solidarietà

    ho fatto anche un funzione di controllo per verificare che valore chr corrisponda quel carattere à e ottengo

    s 115
    o 111
    l 108
    i 105
    d 100
    a 97
    r 114
    i 105
    e 101
    t 116
    à 224

    ma quando faccio il replace non lo considera proprio sia nel sql che nel asp

    come posso risolvere?

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Originariamente inviato da ciucciatiilcalzino
    niente da fare

    ho fatto l'insert come mi dici tu

    scivendo

    "INSERT INTO TBL_NEWS (ID_Sito, ID_LINGUA, TX_TITOLO, TX_TESTO, DT_DATA, BL_OFFERTA, TX_SOTTOTITOLO) VALUES ("&v_obj.IDSito&",'"&v_obj.IDLingua&"','"& eplace(v_obj.Titolo,chr(225),"a") &"','"&FormatStringForSQL(v_obj.Testo)&"','"&Forma tStringForSQL(v_obj.Data)&"',"&v_obj.Offerta&", '"&FormatStringForSQL(v_obj.Sottotitolo)&"')"

    e ottendo quindi


    INSERT INTO TBL_NEWS (ID_Sito, ID_LINGUA, TX_TITOLO, TX_TESTO, DT_DATA, BL_OFFERTA, TX_SOTTOTITOLO) VALUES (30,'IT','solidarietà','prova','20070713',1, '')


    nel database mi scrive questo valore solidarietà

    ho fatto anche un funzione di controllo per verificare che valore chr corrisponda quel carattere à e ottengo

    s 115
    o 111
    l 108
    i 105
    d 100
    a 97
    r 114
    i 105
    e 101
    t 116
    à 224

    ma quando faccio il replace non lo considera proprio sia nel sql che nel asp

    come posso risolvere?
    Non conosco Access, ma mi sembra che la "à" dovresti scriverla "a'''" ovvero 3 apicetti.

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.