黑客防线网安之在IIS中部署的ASP.NET页面访问乱码问题_WIN2003服务器维护_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

黑客防线网安之在IIS中部署的ASP.NET页面访问乱码问题

作者:黑客防线网安IIS教程网 来源:黑客防线网安SEO优化基地 浏览次数:0

本篇关键词:IIS
黑客防线网安网讯:

以前做Java Web开发的时候经常遇到乱码问题,主要原因就是编码没有统一的问题。但在使用ASP.NET的时候,又来还没碰到过乱码问题,今天有幸遇到了。情况是这样的:

一个ASP.NET站点部署在Web服务器上,访问是正常


以前做Java Web开发的时候经常遇到乱码问题主要原因就是编码没有统一的问题但在使用ASP.NET的时候又来还没碰到过乱码问题,今天有幸遇到了情况是这样的:

一个ASP.NET站点部署在Web服务器上,访问是正常的;当把站点复制下来,部署到开发人员的机器上的时候,发现所有的页面访问都是乱码。两边操作系统环境是一致的,都是Windows2003sp2+IIS6+.net framework3.5。

遇到这个问题之后,首先是分析一下站点和页面的编码。IIS站点的编码是utf-8的,页面是ANSI的,这种情况在Web服务器上是正常的,流程的网页无乱码。但在开发人员的机器上,把页面的编码从ANSI转换为utf-8之后,被转换的这个页面无乱码了,但其它页面依旧。虽然问题的原因貌似找到了,但解决起来实非易事,这么多的页面,一个一个的进行编码转换实在是浪费时间,而且在Web服务器上是好的,为什么到开发人员机器上却出了问题呢?解决的方法就要从开发人员的机器配置或者IIS配置入手。

机器配置没什么好说的了,从区域语言到国家,都没有异常,况且这种情况一般不太会和操作系统有关系。那么问题只会出现在IIS上了。通过逐步对照两台机器的站点配置,问题的原因终于找到了。原来IIS可以读取ANSI编码格式的文件,而且使用utf-8进行request和response。而这个配置就在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config这个全局文件中,主要是这一段代码:

<globalization fileEncoding="gb2312" />

改文件毕竟是麻烦的,有一种通过UI进行修改的方法:打开IIS—-选择一个站点—-右键属性—-ASP.NET页签—-编辑全局配置—-在打开的“ASP.NET配置设置”窗口中选择“应用程序”页签—–修改文件编码为gb2312(即你的ASP.NET文件的编码格式),这样就不再有乱码问题了。

话说微软这样做真是人性化,Java中的tomcat等为什么不这么做呢,其实乱码的核心问题就是编码格式不一致的问题呢。如果像微软这样可以指定文件编码格式、request和response的编码格式,真会少走很多弯路。

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-17232-1.html
网站维护教程更新时间:2012-09-11 22:57:21  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer