首页 新闻 会员 周边

问个urlrewrite重写html页面的问题

0
悬赏园豆:40 [已解决问题] 解决于 2010-09-14 11:12

服务器上有许多现成的html页面,有的是gb2312,有的是utf-8比较乱,原先是正常的,但是配置重写之后,出现原先gb2312的页面出现乱码。有方法解决吗?如果自己写简单的方法,不交给asp.net处理html页面就没问题。。。。等高手解决啊

假装90后的主页 假装90后 | 初学一级 | 园豆:6
提问于:2010-09-08 11:23
< >
分享
最佳答案
0
public static Encoding GetFileEncoding(string fileName) {
/*byte[] Unicode=new byte[]{0xFF,0xFE};
byte[] UnicodeBIG=new byte[]{0xFE,0xFF};
byte[] UTF8=new byte[]{0xEF,0xBB,0xBF};
*/

try {
FileStream fs
= new FileStream(fileName, FileMode.Open, FileAccess.Read);
BinaryReader r
= new BinaryReader(fs, System.Text.Encoding.Default);
byte[] ss = r.ReadBytes(3);
r.Close();
fs.Close();
fs.Dispose();

if (ss[0] >= 0xEF) {
if (ss[0] == 0xEF && ss[1] == 0xBB && ss[2] == 0xBF)
return System.Text.Encoding.UTF8;
else if (ss[0] == 0xFE && ss[1] == 0xFF)
return System.Text.Encoding.BigEndianUnicode;
else if (ss[0] == 0xFF && ss[1] == 0xFE)
return System.Text.Encoding.Unicode;
else
return System.Text.Encoding.Default;
}
else return System.Text.Encoding.Default;
}
catch {
return System.Text.Encoding.Default;
}
}

 

读文件之前先调用此方法取文件的编码。按取到的编码打开文件就不是乱码了。

收获园豆:15
熊哥 | 小虾三级 |园豆:682 | 2010-09-08 11:49
其他回答(2)
0

web.config中加上全局配置看看:

<globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="" culture="auto" uiCulture="auto" enableClientBasedCulture="false" responseHeaderEncoding="utf-8" resourceProviderFactoryType="" enableBestFitResponseEncoding="false"/>

收获园豆:15
kyo-yo | 园豆:5587 (大侠五级) | 2010-09-08 12:07
0

应该是直接将html交给asp.net解析的问题吧,你可批量把服务器上的HTML编码改成和web.config的统一。

收获园豆:10
Astar | 园豆:40805 (高人七级) | 2010-09-08 17:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册