这个出来的结果为什么是乱码呢?

来源:百度知道 编辑:UC知道 时间:2024/05/04 15:21:29
System.Net.HttpWebRequest req;
System.Net.HttpWebResponse res;
string url = "http://fanyi.yahoo.com.cn/translate_txt?trtext=" + richTextBox2.Text + "&lp=zh_en";
req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
res = (System.Net.HttpWebResponse)req.GetResponse();
System.IO.StreamReader strm = new System.IO.StreamReader(res.GetResponseStream(), Encoding.UTF8);
string str = strm.ReadToEnd();
str = str.Substring(str.IndexOf("start:translated"), str.IndexOf("start:translate page") - str.IndexOf("start:translated"));
str = str.Substring(str.IndexOf("id=\"pd\"") + 20, str.IndexOf("</div>") - str.IndexOf("id=\"pd\"") - 20

你没有给你传的值定制编码,在不同编码设置的页面上,传值会出现乱码,最好就是指定为Unicode编码

编码问题

例:

//传值
string temp = " <a href='Add.aspx?url=" +Server.UrlEncode( skin.Page.Request.Url.AbsoluteUri )+ "&title=" +Server.UrlEncode( skin.Page.Header.Title )+ "'>添加到收藏夹</a>");

//在另外一个文件中取从上面传的值
if (Request.QueryString["url"] != null)
{
string url = Server.UrlDecode(Request.QueryString["url"].ToString());
this.txtAddress.Text = url;
}
if (Request.QueryString["title"] != null)
{
string title = Server.UrlDecode(Request.QueryString["title"].ToString());
this.txtTitle.Text = title;
}