ASP.NET Lab

The Best Web, The Best Future

博客园 首页 新随笔 订阅 管理

在内部,ASP.NET Web 页面的代码分离会把所有的字符串数据都当成 Unicode 来进行处理。你可以在 HTTP 头的 Content-Type 部分设置 CharSet 特性来设置页面如何来对它的响应进行编码。这允许浏览器在不需要元标记或者推断内容的正确编码的情况下就可以对编码进行检测。你同样可以设置页面如何来解析请求中被发送的信息。

最后,你可以设置 ASP.NET 如何来解释页面自身的内容,换句话说就是:物理 .aspx 文件的编码会保存在磁盘上。如果你设置了文件编码,那么所有的 ASP 页面就都必须使用这种编码。Notepad.exe 就能够保存已经编码成当前系统 ANSI 代码页的文件,以 UTF-8 或者 UTF-16(同样也被称作 Unicode)格式。另外,ASP.NET 运行时还必须匹配在文件的 @ Page 指令的编码特性中被指定的编码。

提示:有些设计者(比如 Visual Studio 2005 设计者)能够保存使用不同编码的 .aspx 文件。

注意:如果名称使用了非用户操作系统语言的双字节字符集(DBCS),那么 Web 应用程序的名称就可能不会正确地显示在用户的计算机中。在 Microsoft FrontPage 服务器扩展的较早版本和 Microsoft Internet Information Services(IIS)5.1 以及较早版本中,工程的名称同样必须匹配于操作系统的语言才能够正确地显示在 Web 服务器中。

特殊的编码

  • 如果要设置所有页面的编码,那么就可以在 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" %>

    提示:你不可以设置 fileEncoding 特性,因为它只适用于文件本身。

posted on 2007-03-05 18:41  Laeb  阅读(1282)  评论(0编辑  收藏  举报