关于ASP.NET运行时正常但是web测试时出现乱码分析

Asp.net网站直接运行的时候正常,按照以下的方式进行WEB测试

测试界面

在做WEB测试的时候发生一件比较奇怪的事情出现乱码,如下图所示,

 

出现乱码

对于如此的情况首先分析问题,出现乱码的可能性就是网页的编码问题,Unicode 编码正逐渐成为多语言支持的最通用解决方案。采用 Unicode 编码的中文网页能在各种平台、各种类的浏览器上都得到很好的兼容。utf-8 是 Unicode 的一种存储/交换实现方式。对于不同数值范围的 Unicode 码,它采用变长的方式来编码:所有 ASCII 字符占用1个字节,大于 0x7f 的则占用2到4字节不等。可以看出,所有 ASCII 文件直接兼容 utf-8。另外,对于网页源代码这样 ASCII 字符占内容很大部分的文件来说,它通常比其他 Unicode 存储/交换格式(如utf-16,utf-32等)更节省空间。因此,utf-8 格式已在网站设计中广泛的使用。

本人这个网站的页面全部采用GB2312编码,但是ASP.NET中默认的编码是UTF-8,关于这个推测我们可以从错误的页面中发现如此的问题,虽然我们在测试的用例中把请求的属性由原来的UTF-8修改为GB2312,但是测试运行过程中仍旧发现RESPONSE返回的包还是以UTF-8的形式返回,这样就导致整个网页才能乱码。

分析错误页面

 

解决的方案:

第一种方案:采用ASP.NET编码默认方式UTF-8,把整个网站的所有网页页面编码修改为UTF-8的形式,不要采用GB2312。

第二种方案:如果你的网页页面编码还是想采用GB2312编码,我们可以在网站的配置文件web.config中添加如下的代码。

<configuration>
    <system.web>
         <globalization fileEncoding="gb2312" requestEncoding="gb2312" responseEncoding="gb2312" responseHeaderEncoding="gb2312"/>
    </system.web>
<configuration>
经过修改后采用WEB测试

修改后的结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值