在写代码中有时使用方法不当造成乱码确实有点烦人,
长沙做网站技术人员在一个项中需要读取XML文件中所有的值,写了如下代码:
//读取XML文件所有值
public static string GetXml(string fileName, string savePath)
{
string strfile = "";
StreamReader sr = new StreamReader(HttpContext.Current.Server.MapPath(savePath + "/" + fileName + ".xml"), System.Text.Encoding.Default);
try
{
strfile = sr.ReadToEnd();
sr.Close();
}
catch
{
}
return strfile;
}
在代码中调用此函数string str=GetXml("request","Cachxml")读取到的值只要是出现中文的地方就是乱码。部分技术人员以为问题出现在strfile = sr.ReadToEnd()上。以做网站技术人员的经验,这肯定出现在StreamReader sr = new StreamReader(HttpContext.Current.Server.MapPath(savePath + "/" + fileName + ".xml"), System.Text.Encoding.Default);此段代码引起的乱码问题。经测试把System.Text.Encoding.Default改System.Text.Encoding.GetEncoding("utf-8")既解决了乱码问题。
以上内容的数据截止于2013年3月,请以原书内容为准,未经授权许可,严禁复制转载引用!如需使用,请联系长沙
做网站湘龙工作室,链接地址:
http://www.csjwang.com/zwzzs/StreamReader-174/。