登录论坛 | 注册会员 设为首页 | 收藏本站
当前位置 : 首页>软件学院>程序开发>网页设计>正文
 
IE7中文域名不能正确解析的解决

http://www.dbit.cn 2008/5/15 8:27:31  来源:BBS  编辑:叶子
 
在IE6下访问是没任何问题的,不过在IE7下就会“革皮”!

因为伟大的IE7为了解决中文域名(不仅仅是中文域名),特意增加一个编码方式:punycode
如果你在IE7下访问http://博客园.cnblogs.com,并在你的HttpModule里捕捉HttpApplication.Request.Url,发现原型是:
http://xn--9kr06fj5e.cnblogs.com
此时如果你想要得到的“博客园”实际是“xn--9kr06fj5e”。
这样如果二级(或其他级域名)中如果有中文如何正确接受到呢?查下msdn,也没发现c#有直接从punycode到汉字的解码方法,
不过有个东东可以暂时解决一下:
下载:http://www.motobit.com/dlldownload/ScptUtl.exe并注册吧!!(有使用限制)

使用方法:
//
/// IE7下中文域名解决
///

///
///
string getCode(string str)
{
string code = str.Trim();
try
{
ScriptUtilities.ByteArray ba = new ScriptUtilities.ByteArray();
ba.CharSet = "gb2312";
ba.Punycode = str.Trim().Replace("xn--", "");
code = ba.String;
}
catch
{
//出错
}

return code;
}
这样就能把在IE7下接受到的“xn--9kr06fj5e”转换为“博客园”,暂时解决了。。。


不知那位朋友有从punycode到gb2312 c#算法?谢谢。
也不知道.net 3.x为什么不提供此解码方式? python等都已经提供
收藏】【打印】【进入论坛
  相关文章:

·中文域名受热捧 谷歌同步无障碍支持.CN
·纯中文域名“.中国”今日提交申请
·网民明年可开始使用全中文域名
·繁简体中文域名将统一

 
 
 
最新文章

抢先苹果,消息称英特尔芯片采用台积电
三星揭晓业内首款单条 512GB DDR5 内存
vivo 高端新机爆料:120Hz 曲面屏 + 天
vivo Y21 在印度正式上市:Helio P35 芯
微星推出 GeForce RTX 3080 Sea Hawk X
消息称三星 Galaxy Tab S8 系列平板将放
机械革命推出 F6 轻薄本:16 英寸全面屏
英特尔 12 代 Alder Lake CPU 600 系列
雷军:向小米手机 1 首批用户每人赠送价
小米李明谈用户被踢出 MIUI 测试版:大

推荐文章
1
2
3
4
5
6
7
8
9
10
叛逆嫩模性感写真
宫如敏不雅照疯传 看张馨予韩一菲兽兽谁
不惧孔子抢位 阿凡达游戏影音配置推荐
2015第十七届“东北安博会”火爆招商
第十六届东北国际公共安全防范产品博览
2016年第五届中国国际商业信息化博览会
2016年第五届中国国际POS机及相关设备展
互联网电视熟了吗 2013最火电视深解析
桑达获邀出席2015中国(广州)国际POS机
宝获利报名参加“2015年度中国POS机行业
八卦图解 More>>
叛逆嫩模性感写真 宫如敏不雅照疯传 看张馨予韩一菲
周伟童魔鬼身材日本性感写真图  联想V360笔记本模特写真