Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1

    caratteri speciali su db non trovo la soluzione

    Salve a tutti
    da alcuni giorni non riesco a trovare la soluzione
    (nemmeno su questo forum) per questo semplice problema.

    In un form gestito con una pagina asp ho un campo di scelta "giorno".
    Se scelgo un giorno della settimana con la "i accentata" (p.e. mercoledì)
    succede che:
    viene registrato correttamente nel campo del database access (leggo mercoledì)
    e quando vado a visualizzare il record con una pagina asp viene visualizzato correttamente,
    ma se vado in variazione il campo non viene riconosciuto nella select seguente.

    codice:
    							
    <select name="form_giorno">
        <option value=""><%=a_giorni(0)%></option>
    	<% For w_i = 1 to w_domeniche_a %>
       	   <% If a_giorni(w_i) = w_giorno Then%>
    	      <option value="<%=a_giorni(w_i)%>" selected><%=a_giorni(w_i)%></option>
    	   <% Else %>
                  <option value="<%=a_giorni(w_i)%>">            <%=a_giorni(w_i)%></option>
    	   <% End If%>
    	<% Next %>
    </select>
    dove w_giorno contiene il valore letto dal db access

    la schiera a_giorni è definita così:
    codice:
    Dim a_giorni(7) 
    a_giorni(0)	= "---Scegli giorno della settimana:" 
    a_giorni(1)	= "Lunedì" 
    a_giorni(2)	= "Martedì" 
    a_giorni(3)	= "Mercoledì" 
    a_giorni(4)	= "Giovedì" 
    a_giorni(5)	= "Venerdì" 
    a_giorni(6)	= "Sabato" 
    a_giorni(7)	= "Domenica"
    Praticamente la "If a_giorni(w_i) = w_giorno Then"
    non si verifica mai, e quindi la riga con "selected" non viene mai attivata,
    per cui se vado in variazione il valore del campo "giorno" è "---Scegli giorno della settimana:"
    e non "Mercoledì"

    in testa alla pagina asp ho inserito:
    Session.LCID=1040
    e
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

    Ho provato a trasformare con replace le "ì" in "& i grave ;"
    ma non ho ottenuto nessun risultato.

    Leggendo i vari thread sull'argomento "caratteri speciali" ho potuto constatare che questo problema è molto ricorrente e non sempre risolto.
    E' possibile che un problema così fondamentale non abbia una soluzione "definitiva"?

    grazie
    Pino

  2. #2
    Il problema sta nel charset della pagina legge i dati che deve essere identico alla maschera che li inserisce.

    Ciao

  3. #3
    confronta tutta la parola meno l'ultima lettera

    luned
    marted
    mercoled
    ...

  4. #4
    Originariamente inviato da alexba64
    Il problema sta nel charset della pagina legge i dati che deve essere identico alla maschera che li inserisce.

    Ciao
    grazie per la risposta ma
    la pagina asp che scrive svolge anche la funzione di visualizzazione e variazione,
    quindi non è questa la soluzione...

    Purtroppo mi sembra un problema semplice, ma di soluzione complicata..

  5. #5
    Originariamente inviato da Grambo
    confronta tutta la parola meno l'ultima lettera

    luned
    marted
    mercoled
    ...
    quindi dovrei avere due schiere una con i giorni scritti per intero e una con i giorni senza l'ultima lettera?
    grazie per la risposta,
    ho pensato ad altre "ginocchiate" per superare il problema,
    però penso sia più "elegante" risolverlo
    che ne dici?

  6. #6
    non capisco cosa intendi per due schiere
    ---------
    EDIT:
    If left(a_giorni(w_i),len(a_giorni(w_i)-1) = left(w_giorno,len(w_giorno)-1) Then
    ---------

    e non capisco nemmeno perchè hai fatto questo
    Ho provato a trasformare con replace le "ì" in "& i grave ;"
    e non questo
    Ho provato a trasformare con replace le "ì" in "i"

    e usare la i normale invece che la ì

    sicuramente è più elegante risolverlo in qualche modo,
    ma alla fine l'utente non si accorge di nulla ^_^

  7. #7
    Originariamente inviato da Grambo
    non capisco cosa intendi per due schiere
    con schiere intendo gli array (io sono antico e 30 anni fa si chiamavano così)

    If left(a_giorni(w_i),len(a_giorni(w_i)-1) = left(w_giorno,len(w_giorno)-1) Then
    il problema reale che ho è più complesso
    e riguarda un array di 60 elementi dove i caratteri accentati si trovano in parti diverse e non alla fine, per semplificare la discussione ho fatto l'esempio dei giorni della settimana.
    Quindi la tua soluzione va benissimo per i giorni della settimana,
    ma non va bene se i caratteri speciali (ho anche il "pallino" ordinale) si trovano in una qualsiasi posizione del campo.

    e non capisco nemmeno perchè hai fatto questo
    Ho provato a trasformare con replace le "ì" in "& i grave ;"
    e non questo
    Ho provato a trasformare con replace le "ì" in "i"
    e usare la i normale invece che la ì
    vedi sopra

    sicuramente è più elegante risolverlo in qualche modo,
    ma alla fine l'utente non si accorge di nulla ^_^
    sì è vero!
    se hai poco tempo e vuoi dare il risultato all'utente
    la "ginocchiata" è la Soluzione,
    ma quando devi manutenere il codice ti metti a piangere...

    Comunque il mio problema è ancora irrisolto!

  8. #8
    o scusa ^_^ avevo capito che il problema fosse per i giorni della settimana e basta

    ed un confronto ascii? guarda qua

  9. #9
    Originariamente inviato da Grambo
    o scusa ^_^ avevo capito che il problema fosse per i giorni della settimana e basta
    no anzi la tua soluzione, in quel caso, mi sembra molto intelligente.

    [/QUOTE]ed un confronto ascii? guarda qua [/QUOTE]

    ora la provo, ma continuo a chiedermi:
    perchè "mercoledì" del db non è uguale a "mercoledì" dell'array?

  10. #10
    Originariamente inviato da rainbow.pino
    grazie per la risposta ma
    la pagina asp che scrive svolge anche la funzione di visualizzazione e variazione,
    quindi non è questa la soluzione...

    Purtroppo mi sembra un problema semplice, ma di soluzione complicata..
    Cambia

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


    con

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    Ciao

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.