Asp.NET 笔记
一、设置aspx页面编码
进行asp.net 开发的人员都知道每个系统都可以设定本系统的编码格式。开发好的网站或系统,比如说Sohu首页就是使用的GB2312编码格式,我们可以在页面中点击右键,找到编码就可以看到编码格式了,如下图所示:
因为开发一个网站,在编码格式上要求很高,所示稍微看了一下,下面将自己的一点心得记录下来供大家参考
1.整个网站或系统的编码可以在Web.cofig中设置
<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
该节点放在<system.web>…</system.web>配置节点下
2.设置单个页面的编码格式
在web.config中设置完整个页面的编码格式后,针对某一个页面可以单独设置,采用另外的编码格式,设置方法有以下几种,都是经过验证的!
1)在web.config 中针对某个页面设置编码格式:
<location path="UniCode/UTF8.aspx">
<system.web>
<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="en"/>
</system.web>
</location>
添加的配置放在<system.web>…</system.web>之外,
</configuration>….</configuration>节点下面
2) 在页面的.cs代码中加入指定编码的代码
protected void Page_Load(object sender, EventArgs e)
{
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
}
3)在aspx页面顶部中加入编码
<%@ Page Language="C#" CodeBehind="UTF82.aspx.cs" Inherits="TabDemo.UniCode.UTF82" ResponseEncoding="utf-8" %>
3.页面中的编码最常使用的utf-8和GB2312,如果使用过就可以发现,同一个汉字不同的编码格式显示的样式是不一样的,举一个比较有代表性的例子就是尖括号(>)和省略号(……)
截一个图看看:
这是在UTF-8下的样子
这是在GB23122下显示的样子
对比一下是不是有点不同啊!
但如果只是这两者的不同,可以通过字体进行调整,比如说在UTF-8编码格式的页面中文字显示的地方加入如下的东西
<span style="font-family: '宋体', Arial;">更多 >>……. </span>
显示的效果就是:
瞅瞅此时的尖括号和省略号是不是和GB2312的差不多了呢!
同样在服务器控件中也可以设置
<asp:Label ID="Label1" Font-Names="宋体" runat="server" Text=""></asp:Label>
4.在一个页面中使用两种编码格式
在网上说可以使用lang=""可以实现,代码如下:
<div lang="utf-8">
>>.......cc
</div>
<hr />
<div lang="gb2312">
>>.......cc</div>
可惜我实验没有成功!
5.各种编码格式的比较,所占的字节位数啥的网上有很多,在这里就不再多说了!
浙公网安备 33010602011771号