在寫代碼中有時使用方法不當造成亂碼確實有點煩人,
長沙做網(wǎng)站技術(shù)人員在一個項中需要讀取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;
}
在代碼中調(diào)用此函數(shù)string str=GetXml("request","Cachxml")讀取到的值只要是出現(xiàn)中文的地方就是亂碼。部分技術(shù)人員以為問題出現(xiàn)在strfile = sr.ReadToEnd()上。以做網(wǎng)站技術(shù)人員的經(jīng)驗,這肯定出現(xiàn)在StreamReader sr = new StreamReader(HttpContext.Current.Server.MapPath(savePath + "/" + fileName + ".xml"), System.Text.Encoding.Default);此段代碼引起的亂碼問題。經(jīng)測試把System.Text.Encoding.Default改System.Text.Encoding.GetEncoding("utf-8")既解決了亂碼問題。
以上內(nèi)容的數(shù)據(jù)截止于2013年3月,請以原書內(nèi)容為準,未經(jīng)授權(quán)許可,嚴禁復(fù)制轉(zhuǎn)載引用!如需使用,請聯(lián)系長沙
做網(wǎng)站湘龍工作室,鏈接地址:
http://www.aushadhiyoga.com/zwzzs/StreamReader-174/。