加入收藏 设为首页
博客 友圈 商城
留言 搜索 投搞
首页 | 网络动态 | 技术文章 | 下载中心 | 设计 | 摄影 | 精彩Flash | 摄影作品 | 顶客排行 | 悠乐论坛
>首页 -> 技术文章 -> 软件应用

TOP

IE7不能解析中文域名的解决方案
[ 录入者:riqukiqpl | 时间:2008-07-11 11:42:00 | 作者: | 来源: | 浏览:59次 ]
简介:在IE6下访问是没任何问题的,不过在IE7下就会“革皮”! 因为伟大的IE7为了解决中文域名(不仅仅是中文域名),特意增加一个编码方式:punycode 如果你在IE7下访问http://博客园.cnblogs.com,并在你的HttpModule里..
在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等都已经提供
0
】【打印繁体】【投稿】【收藏】 【推荐】【举报】 【关闭】 【返回顶部
[上一篇]巧妙拦截QQ广告 防火墙也能“兼职.. [下一篇]瑞星卡卡6.0安装及功能演示视频

评论

称  呼:
验 证 码:
内  容:

相关栏目

最新文章

热门文章

推荐文章

相关文章

广告位