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

    problemi lingue form upload

    salve,dopo il passaggiodal win 2000 a win 2003 sto avendo problemi in questo codice:

    <%
    Session.CodePage = 65001 ' UTF-8 code
    Dim mySmartUpload
    Dim intCount
    Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
    mySmartUpload.Upload
    'carico foto
    intCount = mySmartUpload.Save("/italy/bo/foto")

    For each file In mySmartUpload.Files
    nomeFoto=file.FileName
    Next

    dim a
    a=0
    Dim MyArray(30)

    'salvo nell' array i valori dei campi del form perkè con l'upload del file non si può fare al solito modo.
    For each item In mySmartUpload.Form
    For each value In mySmartUpload.Form(item)
    a=a+1
    MyArray(a) =value
    response.Write(value&"
    ") (provando a visualizzare i valori già qui non son più formattati)
    Next
    Next

    response.End()

    data=MyArray(1)
    tipo=MyArray(2)
    cliente=MyArray(3)
    nazione=MyArray(4)
    tipologia=MyArray(5)
    categoria=MyArray(6)
    titolo=MyArray(7)
    dettaglio=MyArray(8)
    T_EN=MyArray(9)
    D_EN=MyArray(10)
    T_RU=MyArray(11)
    D_RU=MyArray(12)
    T_CZ=MyArray(13)
    D_CZ=MyArray(14)
    T_SK=MyArray(15)
    D_SK=MyArray(16)
    T_PL=MyArray(17)
    D_PL=MyArray(18)
    T_RO=MyArray(19)
    D_RO=MyArray(20)
    T_HU=MyArray(21)
    D_HU=MyArray(22)
    T_SH=MyArray(23)
    D_SH=MyArray(24)
    IDDI=MyArray(25)

    'calcolo del codice:tipo-cliente-idincr
    rif=tipo&"-"&cliente&"-00"&iddi

    if instr(dettaglio, "'")>0 then
    dettaglio=replace(dettaglio, "'", "''")
    end if

    if instr(titolo, "'")>0 then
    titolo=replace(titolo, "'", "''")
    end if

    sqlM="UPDATE BO SET codice='"&rif&"' , data='" &data&"' , nazione='" &nazione&"' , tipologia='" &tipologia&"', categoria='" &categoria&"', titolo='" &titolo&"', dettaglio='" &dettaglio&"', T_EN='" &T_EN&"' , D_EN='" &D_EN&"' , T_RU='" &T_RU&"' , D_RU='" &D_RU&"', T_CZ='" &T_CZ&"', D_CZ='" &D_CZ&"', T_SK='" &T_SK&"' , D_SK='" &D_SK&"' , T_PL='" &T_PL&"', D_PL='" &D_PL&"', T_RO='" &T_RO&"' , D_RO='" &D_RO&"', T_SH='" &T_SH&"' , D_SH='" &D_SH&"' , T_HU='" &T_HU&"', D_HU='" &D_HU&"'"
    aggFoto=", foto='"&nomeFoto&"' "
    condiz=" WHERE id="&iddi

    if nomeFoto="" Then
    sqlModifica=sqlM+condiz
    else
    sqlModifica=sqlM+aggFoto+condiz
    end If

    Set rs2 = Server.CreateObject("ADODB.Recordset")
    response.Write(sqlModifica)
    response.End()
    objConn.execute(sqlModifica)

    sqlLog="INSERT INTO LOG (id_offerta,operazione) values ('00"&iddi&"' ,'M')"
    Set rs3 = Server.CreateObject("ADODB.Recordset")
    objConn.execute(sqlLog)
    objConn.close
    set rs3 = nothing
    set comm= nothing
    set conn = nothing
    response.redirect("visualizza.asp")
    %>


    tutto funziona correttamente con caratteri latini, ma con altre lingue (russo, cinese ecc..) mi crea problemi, in pratica mi restituisce tutti caratteri strani..ho provato a fare un response prima che i dati venissero scritti nel database è già li dava problemi..qulcuna sacome aiutarmi??

    per favor!!

  2. #2
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    qual'è il soggetto? Cos'è che restituisce caratteri strani?

  3. #3
    pardon..

    allora questo script prende i dati di un form liscrivein un array e poi sul database..

    in pratica se uso il russo mi sostituisce tutto con caratteri del genere "D%4D%%&2" e quindi mi scrive il databasein maniera errata in pratica non mi riconosce la codifica

  4. #4
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    quindi stai dicendo che il problema non è l'upload, ma il database

  5. #5
    credevo di si..poi prima che i dati venissero scritti sul DB ho fatto un response ed ho notato che giàlì erano sbagliati..quindi il problema dovrebbe essere nell'array

  6. #6
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    allora, prima cosa :

    codice:
    For each item In mySmartUpload.Form 
    value = mySmartUpload.Form(item) 
    a=a+1 
    MyArray(a) = Unescape(value)
    response.Write(value&"
    ") (provando a visualizzare i valori già qui non son più formattati) 
    Next

  7. #7
    ma l'arrayn funzione bene,èsolo un discorso di codifica

  8. #8
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Si, ma fai un ciclo inutile e come vedi ho aggiunto unescape.

    La riscrivo, con una variazione:

    codice:
    For each item In mySmartUpload.Form 
    a=a+1 
    value = Unescape(mySmartUpload.Form(item))
    MyArray(a) = value
    response.Write Value & "
    " 
    Next
    Dopodicè oltre al codepage lato server controlla anche se la messo sulla pagina html

  9. #9
    ok grazie..l'array l'ho modificato..perfetto..solo che anche se hoimpostato il charset ovunque si voglia e si possa sempre stesso casino..in prartica ho visto che se nella pagina del form modifico

    questo enctype="multipart/form-data"

    con qualunque altro enctype i caratteri vanno ma l'upload no..

    VVoVe:

  10. #10
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    l'attributo enctype="multipart/form-data" è fondamentale per inviare dati in upload. No attributo enctype No cammello.

    Ora, quando invii dati in upload, non è più request che gestisce la lettura, ma l'upload.

    Verifica sul manuale o chiedi al supporto tecnico se è supportato l'unicode nell'upload.

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.