|
国际化概述
编码支持
ASP.NET 在内部使用 Unicode。此外,ASP.NET 还使用 .NET 框架类库中的 String 类和相关的实用工具函数,它们也是内部
Unicode。与外界连接时,可以用几种方法来配置 ASP.NET 以使用已定义的编码,包括 .aspx 文件的编码、请求数据和响应数据。例如,可以用
Unicode 编码方式存储 .aspx 文件并将页的 HTML 输出转换为 ANSI 代码页,如 ISO-8859-1。
本地化支持
通过 CultureInfo 类可以访问区域设置的属性。此外,ASP.NET 基于每个线程和请求跟踪默认区域性的两个属性:用于区域设置相关函数默认值的
CurrentCulture,和用于区域设置特定的资源数据查找的 CurrentUICulture。
以下代码显示了 Web 服务器上的区域性值。注意:CultureInfo 类是完全限定的。
<%@Import Namespace="System.Globalization"%>
...
<%=CultureInfo.CurrentCulture.NativeName%>
<%=CultureInfo.CurrentUICulture.NativeName%>
结果如下:
English (United States)
English (United States)
对于如日期/时间格式或货币这样与区域设置相关的数据,ASP.NET 使用公共语言运行库中的 .NET 框架类库支持。ASP.NET
页上的代码可以使用与区域设置相关的格式化例程,如 DateTime.Format。例如,下列代码以长格式显示当前日期:第一行依照系统区域设置,第二行依照德语
(“de”) 区域设置:
<%=DateTime.Now.ToString("f")%>
<%=DateTime.Now.ToString("f", new System.Globalization.CultureInfo("de-DE"))%>
结果如下:
26
26
配置设置
创建 ASP.NET 页或代码隐藏模块时,开发人员可以使用 .NET 框架类库为全球化环境或本地化应用程序提供必要的功能。ASP.NET
还提供使 ASP.NET 应用程序的开发和管理变得容易的配置设置。
ASP.NET 使用配置文件来提供通常也由子目录继承的目录设置。每个文件都可以包含 Globalization
节,在其中可以指定默认的编码和区域性。如果值为相关的类 Encoding 和 CultureInfo
所接受,则它们是有效的。在 .NET 框架 SDK 中可以找到有关 Encoding 和 CultureInfo
类的更多信息。
<configuration>
<system.web>
<globalization
fileEncoding="utf-8"
requestEncoding="utf-8"
responseEncoding="utf-8"
culture="en-US"
uiCulture="de-DE"
/>
</system.web>
</configuration>
在 Globalization 节中,fileEncoding 的值决定 ASP.NET 编码 .aspx
文件的方式,requestEncoding 和 responseEncoding 的值决定请求数据和响应数据的编码方式。
Web.config 文件中的 Globalization 节的属性也可以在 Page 指令上指定(fileEncoding
除外,因为它应用于文件本身)。这些设置仅对特定页有效并且重写 Web.config 文件的设置。下列示例指令指定页应对响应使用“法语”区域性设置和
UTF-8 编码:
<%@Page Culture="fr-FR" UICulture="fr-FR"
ResponseEncoding="utf-8"%>
注意:在页内,可以通过设置 Thread.CurrentCulture 和 Thread.UICulture
以编程方式更改区域性值。
本节小结
1.ASP.NET 支持 .aspx 文件、请求数据和响应数据的广泛编码。
2.CultureInfo 类提供对区域设置相关数据的支持,在该类中跟踪两个值 CurrentCulture
和 CurrentUICulture。
3.可以为每台计算机、每个目录和每页配置国际化设置。
感谢2001 Microsoft Corporation教材提供 |
|