我使用此代碼字符串轉換爲ISO8859-1問題編碼字符串ISO8859-1
baseurl = "http://myurl.com/mypage.php"
client = New WebClient
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)")
client.QueryString.Add("usuario", user)
client.QueryString.Add("password", pass)
client.QueryString.Add("ruta", 2)
client.QueryString.Add("remitente", Me.txtRemite.Text)
If Me.chkPRefijo.Checked = True Then
client.QueryString.Add("destinatarios", Me.LookUpEdit1.EditValue & Me.dtsMvl.Tables(0).Rows(x).Item("movil"))
Else
client.QueryString.Add("destinatarios", Me.dtsMvl.Tables(0).Rows(x).Item("movil"))
End If
textoSms = Me.mmTexto.Text
textoSms = System.Web.HttpUtility.UrlEncode(textoSms, System.Text.Encoding.GetEncoding("ISO-8859-1"))
client.QueryString.Add("mensaje", textoSms)
client.QueryString.Add("reporte", 1)
data = client.OpenRead(baseurl)
reader = New StreamReader(data)
s = reader.ReadToEnd()
data.Close()
reader.Close()
但問題是,當用戶寫這個卡拉科特:+
實例:
用戶寫在我的應用程序:
價格80 +增值稅
在我的應用程序編碼字符串,這個字符串被髮送到服務提供商:
價格+ 80%2bVAT在移動接收
短信:
價格80增值稅
編輯
需要傳遞給URL一些變量。因爲我有一個程序來發送短信,我需要發送變量到URL(URL提供商SMS系統)。字符串(消息移動,用戶在我的程序中寫入)必須發送編碼(ISO 8859-1)。
例如,該代碼在PHP細運行:
$texto=urlencode($textoOriginal);
此代碼返回該字符串轉換:
價+ 80%2BVAT
編輯2
我認爲我的代碼是錯誤的。因爲如果我發送相同的字符串編碼「價格+ 80%2BVAT」,爲什麼在VB.NET代碼不運行,並在PHP運行良好?是相同的編碼字符串。
那就是UrlEncode – 2010-02-18 15:38:33