string html = System.Text.Encoding.GetEncoding("gb2312").GetString(buffer);这样asp的dropdownlist控件最后面的选项会出现部分乱码,用 string html = System.Text.Encoding.Default.GetString(buffer);这样也不行,谁知道如何才能不出现乱码呢?
解决方案 »
- Gridview 绑定数据库的问题
- 请问Asp.net 如何持久化后台变量
- 多个伪静态的参数写法是什么? 我的出错啦
- discuz论坛配置的问题:发生错误: 网站根目录下没有正确的DNT.config文件
- 关于自定义符合型控件状态值ViewState保存的问题,急!!
- asp.net下怎样进行winwebmail接口调用实现登陆,和发信息啊
- 我想显示数据库里一个表的内容,显示不出来/?
- ASP.NETC#代码与HTML代码同在.ASPX 好还是分开为.ASPX和 .CS好?
- 请问ASP.NET(c#)中TEXTBOX文本框的双击事件应该在哪里写代码?
- 关于request.querystring的问题
- 如何用.Net生成并打印一张单据
- ObjectDataSource“ObjectDataSource1”未能找到带参数的非泛型方法 问题
试试 UTF-8 gb2312 等等
{
string code = DecodeData(url);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = 30000;
request.Headers.Set("Pragma", "no-cache");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream streamReceive = response.GetResponseStream();
Encoding encoding = code != string.Empty ? Encoding.GetEncoding(code.ToUpper()) : Encoding.Default;
StreamReader streamReader = new StreamReader(streamReceive, encoding);
string strResult = streamReader.ReadToEnd();
streamReader.Close();
streamReader.Dispose(); return strResult;
}
//http://blog.sunmast.com/natas/archive/2004/10/30/989.aspx,略有改动. private string DecodeData(string Url)
{
WebRequest r = WebRequest.Create(Url);
WebResponse w = r.GetResponse();
//
// first see if content length header has charset = calue
//
String charset = string.Empty;
String ctype = w.Headers["content-type"];
if (ctype != null)
{
int ind = ctype.IndexOf("charset=");
if (ind != -1)
{
charset = ctype.Substring(ind + 8);
}
} // save data to a memorystream
MemoryStream rawdata = new MemoryStream();
byte[] buffer = new byte[1024];
Stream rs = w.GetResponseStream();
int read = rs.Read(buffer, 0, buffer.Length);
while (read > 0)
{
rawdata.Write(buffer, 0, read);
read = rs.Read(buffer, 0, buffer.Length);
} rs.Close(); //
// if ContentType is null, or did not contain charset, we search in body
//
if (charset == null)
{
MemoryStream ms = rawdata;
ms.Seek(0, SeekOrigin.Begin); StreamReader srr = new StreamReader(ms, Encoding.ASCII);
String meta = srr.ReadToEnd(); if (meta != null)
{
int start_ind = meta.IndexOf("charset=");
int end_ind = -1;
if (start_ind != -1)
{
end_ind = meta.IndexOf("\"", start_ind);
if (end_ind != -1)
{
int start = start_ind + 8;
charset = meta.Substring(start, end_ind - start + 1);
charset = charset.TrimEnd(new Char[] { '>', '"' });
}
}
}
}
return charset.ToString();
}
var charSet = "";
var oType = getBrowser();
switch(oType){
case "IE":
charSet = document.charset;
break;
case "FIREFOX":
charSet = document.characterSet;
break;
default:
break;
}
return charSet;
}
function getBrowser(){
var oType = "";
if(navigator.userAgent.indexOf("MSIE")!=-1){
oType="IE";
}else if(navigator.userAgent.indexOf("Firefox")!=-1){
oType="FIREFOX";
}
return oType;
}