求教,asp.net从客户端读取的数据是乱码
private void submit_Click(object sender, System.EventArgs e)
{
int FileLen;
string MyString="";
System.IO.Stream MyStream;
HttpPostedFile MyFileCollection = Request.Files[0];
Response.Write(MyFileCollection.ContentType);
//if(MyFileCollection.ContentType!="text/plain")
//{
// Js.ComAlert("文件类型出错,请确认!!");
// return;
//}
FileLen=MyFileCollection.ContentLength;
byte[] input = new byte[FileLen];
MyStream = MyFileCollection.InputStream;
MyStream.Read(input,0,FileLen);
//for (int Loop1 = 0; Loop1 < FileLen; Loop1++)
//MyString = MyString + input[Loop1].ToString();
MyString=Encoding.ASCII.GetString(input);
//this.Response.ContentEncoding=Encoding.ASCII;
Response.Write(MyString);
}
通过上面代码从客户端读取的txt文件(ascii格式),输出时确是乱码。
但是如果用:
MyString=Encoding.Unicode.GetString(input);
然后读取unicode的txt文件,确是正常的。请问大家为什么?
问题点数:60、回复次数:3Top
1 楼wenhao676(zzc)回复于 2005-08-01 11:53:33 得分 30
web.config
<globalization requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312" />Top
2 楼adow(adow)回复于 2005-08-01 12:04:22 得分 0
试过了,好象还是不行。Top
3 楼wuhun(无魂)回复于 2005-08-01 12:11:31 得分 30
System.Web.HttpUtility.UrlEncode("str")
Top




