|
设置区域性和编码
编码
在内部,ASP.NET 处理所有 Unicode 形式的字符串数据。通过在下面的示例中使用 ResponseEncoding
属性,还要求 ASP.NET 发送 UTF-8 编码的页。注意,可选择任何任意编码,而不会影响 .aspx 文件。ASP.NET
还根据 ResponseEncoding 的值,在 HTTP 标头的 Content Type 上设置
CharSet 属性。这使浏览器能够在没有元标记或无须从内容猜测正确编码的情况下确定编码。
| |

VB BrowsCaps.aspx
[运行示例] | [查看源代码] |
注意:如果某些字符显示为空矩形,则必须安装对日语和希伯来语的附加语言支持。若要在 Windows 2000 平台上执行该操作,请在“控制面板”上打开“区域选项”,然后添加所需的语言支持。
上述示例说明如何在同一页上使用不同的区域字符集。该页包含英文文字 (ASCII)、德文文字(含一个变音符号)、日文文字和希伯来文文字(使用
dir="rtl")。该页本身的源是以代码页非特定 UTF-8 编码形式存储的,正如 Web.config
中指定的那样。
<configuration>
<system.web>
<globalization
fileEncoding="utf-8"
...
/>
</system.web>
</configuration>
Page 指令在该页本身上指定 ResponseEncoding:
<%@Page ... ResponseEncoding="utf-8"%>
注意:Web.config 中的 ResponseEncoding 也以 UTF-8 的形式指定,因此在该页上重复它是多余的。但是,如果将
.aspx 文件移动到不使用 UTF-8 的服务器,该文件仍会指定正确的编码。
使用 CultureInfo
ASP.NET 页上的代码可使用 CultureInfo 类提供本地化设置。在下面的示例中,区域性(最初是服务器的区域性)的属性以如下方式设置:
| culture = CultureInfo.CurrentCulture |
如果提交了新区域性的名称,则将改用该名称:
| culture = New CultureInfo(NewCulture.Value) |
提交的区域性设置为新的默认值并显示某些属性:
<%
Thread.CurrentThread.CurrentCulture = culture
%>
...
Current Culture is <%= CultureInfo.CurrentCulture.Name %>
(<%=Thread.CurrentThread.CurrentCulture.Name%>),
<%= CultureInfo.CurrentCulture.EnglishName %>/<%=CultureInfo.CurrentCulture.NativeName%>,
The localized date is: <%= DateTime.Now.ToString("D",
CultureInfo.CurrentCulture) %> |
| |

VB BrowsCaps.aspx
[运行示例] | [查看源代码] |
使用 RegionInfo
ASP.NET 页上的代码还可以使用 RegionInfo 类提供区域设置。下面的示例显示了区域属性。最初显示的是服务器的默认区域。
region = RegionInfo.CurrentRegion
...
Current region is <%= region.EnglishName %> (<%=region.DisplayName%>),
currency is <%= region.CurrencySymbol %>. |
在后面的请求中显示输入的区域:
| region = New RegionInfo(NewRegion.Value) |
| |

VB BrowsCaps.aspx
[运行示例] | [查看源代码] |
本节小结
1.ASP.NET 可以使用以 UTF-8 编码形式存储的页来支持不同的区域字符。
2.可以编程方式设置和使用 CultureInfo 类以本地化页。
3.RegionInfo 类可用于在 ASP.NET 上提供区域设置。
感谢2001 Microsoft Corporation教材提供 |
|