进行传递 string Name = "中文参数"; Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name)); 进行接收 string Name = Request.QueryString["Name"]; Response.Write(Server.UrlDecode(Name));
''' <summary> ''' 汉字编码 ''' </summary> ''' <param name="msg"></param> ''' <returns></returns> ''' <res></res> Public Shared Function encode(ByVal msg As String) As String Dim rs As String = "" Dim data As Byte() = System.Text.Encoding.[Default].GetBytes(msg) For i As Integer = 0 To data.Length - 1 Dim t As String = Convert.ToString(data(i), 16) t = (IIf(t.Length = 1, "0" + t, t)) t = data(i).ToString("x") rs = rs + t.ToUpper() Next Return rs End Function ''' <summary> ''' 汉字解码 ''' </summary> ''' <param name="msg"></param> ''' <returns></returns> ''' <res></res> Public Shared Function decode(ByVal msg As String) As String Dim rs As String = "" Dim data As Byte() = New Byte(msg.Length / 2 - 1) {} For i As Integer = 0 To msg.Length / 2 - 1 data(i) = Convert.ToByte(msg.Substring(i * 2, 2), 16) Next rs = System.Text.Encoding.[Default].GetString(data) Return rs End Function
把aspx另存为UTF-8格式,默认的是ANSI格式
可以都用UTF-8编码,中文参数在传递前先编码转换,接收时再转换为汉字。
进行传递
string Name = "中文参数";
Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name));
进行接收
string Name = Request.QueryString["Name"];
Response.Write(Server.UrlDecode(Name));
''' 汉字编码
''' </summary>
''' <param name="msg"></param>
''' <returns></returns>
''' <res></res>
Public Shared Function encode(ByVal msg As String) As String
Dim rs As String = ""
Dim data As Byte() = System.Text.Encoding.[Default].GetBytes(msg)
For i As Integer = 0 To data.Length - 1
Dim t As String = Convert.ToString(data(i), 16)
t = (IIf(t.Length = 1, "0" + t, t))
t = data(i).ToString("x")
rs = rs + t.ToUpper()
Next
Return rs
End Function ''' <summary>
''' 汉字解码
''' </summary>
''' <param name="msg"></param>
''' <returns></returns>
''' <res></res>
Public Shared Function decode(ByVal msg As String) As String
Dim rs As String = ""
Dim data As Byte() = New Byte(msg.Length / 2 - 1) {}
For i As Integer = 0 To msg.Length / 2 - 1
data(i) = Convert.ToByte(msg.Substring(i * 2, 2), 16)
Next
rs = System.Text.Encoding.[Default].GetString(data)
Return rs
End Function