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

    Leggere una variabile in unicode

    Ciao a tutti, premetto che di ASP non sò una cippa
    Qualcuno è così gentile da dirmi come faccio a leggere una variabile in unicode?
    Praticamente ho un campo di testo input in flash dove l'utente scrive tot info ... alla pressione di un bottone poi si richiama una pagina asp a cui viene passata la variabile associata alle informazioni scritte dall'utente. Il problema, penso, è che ASP non le legge bene (mi servono disponibili una marea di caratteri, dato che è un'applicazione multilingua: greco, tedesco, francese ecc con relativi accenti e lettere speciali) dato che ha problemi con Unicode mi pare di capire.
    Esiste un modo per "convertire" il contenuto della variabile passata da flash in Unicode da dentro ASP?
    Dico questo perchè la stessa pagina, una volta recuperata la variabile, ne scrive il contenuto in un DB (ma i caratteri non corrispondono).
    Poi ovviamente c'è la procedura opposta: da flash richiamo un altra pagina ASP che fa una query al DB e ne restituisce il contenuto in un campo di testo dinamico in flash.
    Dulcis in fundo c'è un altro tasto, sempre in flash, che richiama una terza pagina ASP che manda una email con il contenuto della variabile.
    Funziona tutto ... l'unico problema sono sti maledetti caratteri speciali.
    Il codice che uso per recuperare la variabile e scriverla nel DB è questo:
    codice:
    %>
    Set Conn = Server.CreateObject("ADODB.Connection")
     Set rs = Server.CreateObject("ADODB.Recordset")
     dbq = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = "&Server.MapPath("db.mdb")&"; Persist Security Info = False"
     Conn.Open dbq
    
    	stringa=request.form("stringa")
    	
    
    	query="INSERT INTO TBL_Caratteri (contenuto) VALUES ('"&stringa&"')"
    	Conn.execute(query)
    
    		If Err.Number <> 0 Then
    			sError = "Descrizione: " & Err.Description & "
    " & VbCrLf
    			sError = sError & "Errore numero: " & Err.Number & "
    " & VbCrLf
    			sError = sError & "Source: " & Err.Source & "
    " & VbCrLf
    			sError = sError & "SQLState: " & Err.SQLState & "
    " & VbCrLf
    			sError = sError & "Native Error: " & Err.NativeError & "
    " & VbCrLf
    			Response.Write("errore="&sError)
    			Response.End
    		End IF
    
    	response.write ("errore=0")
    	
    	
     Conn.close
    %>
    Questo è invece il codice della seconda pagina ASP che fa la query
    codice:
    <%
    
    'SCRIPT DI APERTURA DEL DATABASE
    
     Set Conn = Server.CreateObject("ADODB.Connection")
     Set rs = Server.CreateObject("ADODB.Recordset")
     dbq = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = "&Server.MapPath("db.mdb")&"; Persist Security Info = False"
     Conn.Open dbq
    
    session.timeout=1200
    	i=1
    	query="select * FROM TBL_Caratteri"
    	set var=Conn.execute(query)
    	'a.Open query,Conn,3,3
    	response.write "stringa=1"
    if not var.eof then
    	do while not var.eof
    		response.write "&dati"&i&"="&var("contenuto")
    		var.MoveNext
    		i=i+1
    	loop
    end if
    	response.write "&num="&(i-1)
    
    %>
    Infine questo è il codice della terza pagina ASP che manda la mail.

    codice:
    <%
    
    
    mittente=request.form("mittente")
    destinatario=request.form("destinatario")
    oggetto=request.form("oggetto")
    stringa=request.form("stringa")
    
    
    HTML = "<!DOCTYPE HTML PUBLIC ""-//IETF//DTD HTML//IT"">" & NL 
    HTML = HTML & "<html>" 
    HTML = HTML & "<head>" 
    HTML = HTML & "<meta http-equiv=""Content-Type""" 
    HTML = HTML & "content=""text/html; charset=iso-8859-1"">" 
    HTML = HTML & "<title>LTEST</title>" 
    HTML = HTML & "</head>" 
    HTML = HTML & "<body bgcolor=""#FFFFFF"">" 
    HTML = HTML & stringa
    HTML = HTML & "</body>"
    HTML = HTML & "</html>"
    
    
    Set objMail = Server.CreateObject("CDONTS.NewMail") 
    objMail.From = mittente 
    objMail.To = destinatario
    objMail.Subject = oggetto
    objMail.BodyFormat = 0 
    objMail.MailFormat = 0 
    objMail.Body = HTML 
    objMail.Send 
    		If Err <> 0 Then
    			sError = "Descrizione: " & Err.Description & "
    " & VbCrLf
    			sError = sError & "Errore numero: " & Err.Number & "
    " & VbCrLf
    			sError = sError & "Source: " & Err.Source & "
    " & VbCrLf
    			sError = sError & "SQLState: " & Err.SQLState & "
    " & VbCrLf
    			sError = sError & "Native Error: " & Err.NativeError & "
    " & VbCrLf
    			Response.Write("errore="&sError)
    			Response.End
    		End IF
    		response.write ("errore=0")
    
    Set objMail = nothing
    
    %>
    Se mi dite cose devo aggiungere per far leggere/scrivere giusto nel DB vene sarò grato in eterno

  2. #2
    Nessuno sà come si fa in ASP a gestire i caratteri speciali?

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