关闭

ASP.NET页面的字符编码设置

2531人阅读 评论(0) 收藏 举报
一、通过web.config设置整个站点的字符编码格式
<?xml version="1.0"?>
<configuration>
   <system.web>
      <globalization requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312"/>
   </system.web>
</configuration>
globalization节点的属性说明
属性说明
fileEncoding 可选的属性。
为 .aspx、.asmx 和 .asax 文件分析指定默认编码。无论此属性的值是什么,用 byte order mark 前缀保存的 Unicode 和 UTF-8 文件都将被自动识别。
requestEncoding 可选的属性。
指定每一传入请求的假定的编码,包括已传递的数据和查询字符串。 如果请求附带包含一个 Accept-Charset 属性的请求标头,它将重写配置中的该属性。
默认编码为 UTF-8,该编码在 Machine.config 文件(在安装 .NET Framework 时创建)的 globalization 节中指定。如果在 Machine.config 或 Web.config 文件中未指定请求编码,则编码默认为计算机的“区域选项”区域设置。
在单服务器应用程序中,此属性和 responseEncoding 属性应该相同。对于不常见的情况(默认服务器编码不同的多服务器应用程序),可以使用本地 Web.config 文件改变请求和响应编码。
responseEncoding 可选的属性。
指定响应的内容编码。
默认编码为 UTF-8,该编码在 Machine.config 文件(在安装 .NET Framework 时创建)的 globalization 节中指定。如果在 Machine.config 或 Web.config 文件中未指定响应编码,则编码默认为计算机的“区域选项”区域设置。
在单服务器应用程序中,此属性和 responseEncoding 属性应该相同。对于不常见的情况(默认服务器编码不同的多服务器应用程序),可以使用本地 Web.config 文件改变请求和响应编码。
二、单页面设置字符编码格式
设置@Page指令的ResponseEncoding属性,指定响应的内容编码。
<%@ Page ResponseEncoding="gb2312" %>
三、ResponseEncoding与Content-Type
    ResponseEncoding是用来设置服务器对页面进行字符编码的格式。Content-Type用来告诉客户端,页面是用哪种字符编码格式进行编码的。
    http响应头信息的“Content-Type text/html; charset=gb2312”实体报头(若是没有专门对Content-Type实体报头另行设置,则charset的值将与ResponseEncoding的值一样)与html页面代码中的“<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />”节点都是页面的字符编码的描述,指示客户端以哪种字符编码格式对页面进行解释。
     现在浏览器和网络应用程序接口,更多是优先http响应头信息的Content-Type实体报头,不过也有只取其中一项目作为页面的字符编码的描述,而把另外一个忽略。所以,在使用的时候,最好都写上,并且要一致。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8426次
    • 积分:140
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:5篇
    • 译文:0篇
    • 评论:0条