Ok. ti posto questo codice:
codice:
Imports System.Web.HttpUtility
Partial Public Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim testo As String
testo = Request.QueryString("testo")
Response.Write("querystring: " & testo & "</br>")
Response.Write("Urldecode: " & UrlDecode(testo) & "</br>")
End Sub
End Class
Allora l'applicazione deve memorizzare il testo passato, per cui io posso passargli qualunque testo, l'applicazione asp riceve il testo da una chiamata esterna fatta da vb6 per cui su vb6 nn ho nessuna funzione di codifica o decodifica devo farla io e l'ho già fatta.
Se ti chiedessi di fare una chiamata get a questa pagina passando il testo "prova di invio" tu mi chiameresti la pagina con un ?testo=prova+di+invio giusto?
Se uso questa stringa funzionicchia perchè non uso caratteri accentati, però ti chiedo come è possibile che con o senza urldecode ottengo lo stesso testo? E' qui il problema. Problema che rimane con l'accentate perchè la codifica è UTF-8 anzichè UNICODE 1252. Cioè tornando all'esempio di prima se chiamassi la pagina con un ?testo=questa+%c3%a8+una prova allora in questo caso la variabile testo avrebbe il valore corretto, continua ad esserci lo strano comportamento che la urldecode nn funziona.
Aggiungo che è questo il mio problema la urldecode che non entra in funzione (il testo è già codificato) e che nn riesco a cambiare la decodifica di default.