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