关于ASP.NET网页上有部分文字乱码的问题,用utf-8还是用gb2312

今天才知道,原来Asp.net网页(.aspx文件)编码有几种状态,这几种状态可以在web.config文件里配置,但是用VS.NET 里面的网站-》asp.net 网站配置菜单打开的网页工具并不提供对这个项的配置。

只有给网站配置了IIS,在IIS的ASP.NET标签下才有对这个的配置,在“ASP.NET 配置设置->应用程序->全球化设置”里面,如图:

配置之后会在web.config里面有相应的响应。

统一了编码之后,不管用什么(utf-8 vs gb2312)都没有问题了

<globalization fileEncoding="utf-8" culture="zh-CN" uiCulture="zh-CN" />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP.NET中,当接收到的请求包含非ASCII字符,可能会出现乱码的情况。这可能是由于编码的不一致或者字符集的问题导致的。下面是一些常见的原因和解决方法: 1. 编码不一致: 当前请求的编码与服务器预期的编码不一致,就会导致乱码。你可以在Web.config文件中设置<globalization>元素来指定请求的编码方式。例如,你可以使用UTF-8编码来接收请求: ```xml <configuration> <system.web> <globalization requestEncoding="utf-8" responseEncoding="utf-8" /> </system.web> </configuration> ``` 2. 字符集问题: 如果请求中的字符集与服务器支持的字符集不匹配,也会导致乱码。你可以在请求的头部中设置字符集,确保与服务器的字符集一致。例如,设置请求头部的字符集为UTF-8: ```csharp Request.Headers["Accept-Charset"] = "utf-8"; ``` 3. 编码转换: 如果你接收到的请求已经编码成了其他字符集,你需要将其转换为服务器支持的字符集。你可以使用Encoding类来进行编码转换。例如,将请求转换为UTF-8: ```csharp byte[] requestData = Request.BinaryRead(Request.TotalBytes); string decodedRequest = Encoding.GetEncoding("UTF-8").GetString(requestData); ``` 总结一下,要解决ASP.NET请求乱码问题,你可以通过设置web.config中的<globalization>元素来指定请求的编码方式,确保编码一致性。此外,你还可以设置请求头部的字符集,以便与服务器的字符集匹配。如果需要,你可以使用Encoding类进行编码转换,将请求转换为服务器支持的字符集。这样就能够有效地解决ASP.NET请求乱码问题了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值