asp.net编程:asp.net中如何设置页面的编码

简介: 在用ASP.NET写网上支付的接口程序时,遇到一个奇怪问题,通过表单提交过去的中文全是乱码,英文正常。而用asp程序进行测试,可以正常提交 中 文,asp页面中有这样的HTML代码: < meta http-equiv ="Content-Type" content ="text/html; charset=gb2312" > 可是将这个代码加入到ASP.NET页面中,依然解决不了问 题。


在用ASP.NET写网上支付的接口程序时,遇到一个奇怪问题,通过表单提交过去的中文全是乱码,英文正常。而用asp程序进行测试,可以正常提交 中 文,asp页面中有这样的HTML代码: 

< meta http-equiv ="Content-Type" content ="text/html; charset=gb2312" > 


可是将这个代码加入到ASP.NET页面中,依然解决不了问 题。分析了一下,问题应该是编码引起的,对方的程序只能处理GB2312编码的页面提交过来的中文数据。难道加了上面的代码,ASP.NET却不是以 GB2312编码显示的?打开该页面,查看一下浏览器的编码,原来是UTF-8,原因找到,怎么解决呢?看来,ASP.NET不理睬上面的代码,自己向浏览器发送编码信息,那我设置一下Response.ContentEncoding试试,在Page_Load中加上如下代码: 


Response.ContentEncoding = System.Text.Encoding.GetEncoding( " GB2312 " ); 


OK!问题解决!

如果要为整个项目设置页面编码,那么就可以在 Web.config 文件中添加一个 Globalization 属性,然后设置它的 fileEncoding、requestEncoding,和 responseEncoding 特性: 
<configuration> 
<system.web> 
<globalization 
fileEncoding="utf-8" 
requestEncoding="utf-8" 
responseEncoding="utf-8" 
culture="en-US" 
uiCulture="de-DE" 
/> 
</system.web> 
</configuration> 
如果要为单独的页面设置编码,那么 就可以设置 @ Page 指令的 RequestEncoding 和 ResponseEncoding 特性: 
<%@ Page RequestEncoding="utf-8" ResponseEncoding="utf-8" %> 

有时我们已经在配置 文件中将整个站点的编码设置为gb2312,但某个页面却需要使用utf-8,这时我们可以在配置文件configuration节下新增 location节点: 

程序代码 
<location path="Test.aspx"> 
<system.web> 
<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="en"/> 
</system.web> 
</location> 
如果是要将某个页面单独设置为gb2312则为: 
程序代码<location path="Test.aspx"> 
<system.web> 
<globalization fileEncoding="gb2312" requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN"/> 
</system.web> 
</location>

目录
相关文章
|
6月前
|
存储 开发框架 前端开发
asp.net与asp.net优缺点及示例
asp.net与asp.net优缺点及示例
|
30天前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
28 0
|
1月前
|
开发框架 中间件 .NET
C# .NET面试系列七:ASP.NET Core
## 第一部分:ASP.NET Core #### 1. 如何在 controller 中注入 service? 在.NET中,在ASP.NET Core应用程序中的Controller中注入服务通常使用<u>依赖注入(Dependency Injection)</u>来实现。以下是一些步骤,说明如何在Controller中注入服务: 1、创建服务 首先,确保你已经在应用程序中注册了服务。这通常在Startup.cs文件的ConfigureServices方法中完成。例如: ```c# services.AddScoped<IMyService, MyService>(); //
60 0
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
95 5
|
3月前
|
开发框架 安全 搜索推荐
分享105个NET源码ASP源码,总有一款适合您
分享105个NET源码ASP源码,总有一款适合您
27 4
|
7月前
|
开发框架 前端开发 .NET
.NET 8 Release Candidate 1 (RC1)现已发布,包括许多针对ASP.NET Core的重要改进!
.NET 8 Release Candidate 1 (RC1)现已发布,包括许多针对ASP.NET Core的重要改进!
174 0
.NET 8 Release Candidate 1 (RC1)现已发布,包括许多针对ASP.NET Core的重要改进!
|
8月前
|
存储 开发框架 .NET
ASP.NET学生管理系统(.NET毕业设计)
ASP.NET学生管理系统(.NET毕业设计)
99 0
|
9月前
|
开发框架 数据可视化 前端开发
ASP.NET Core MVC+Quartz实现定时任务可视化管理页面
ASP.NET Core MVC+Quartz实现定时任务可视化管理页面
327 0
|
3月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
38 0