做一个项目的时候所有页面都需要使用gb2312编码,所以在web.config里配置了全局编码
<globalization fileEncoding="Gb2312" requestEncoding="Gb2312" responseEncoding="Gb2312"/>
但是有个页面是用ajax提交数据到ashx页面来处理的,ajax提交的数据是用的utf-8,这样在我接收数据的时候就出现了乱码,不管是在页面头添加responseEncoding="Gb2312",还是指定meta里的编码都没有效果,因为.net接受数据的时候是用gb2312解码的(之前的全局配置),最后绕来绕去,既然web.config能配置全局,肯定能配置单独页面了,于是查阅资料终于找到方法,在sys.web配置节上面添加如下配置
<location path="reg.aspx">
<system.web>
<globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
</system.web>
</location>
path后面就是要单独指定编码的路径了,可以是页面,也可以是目录.