📄 internationalization.aspx
字号:
<%@Page Language="C#" ResponseEncoding="utf-8" %>
<%@Import Namespace="System.Globalization"%> <%@ Register TagPrefix="Acme" TagName="SourceRef" Src="/quickstart/aspplus/util/SrcRef.ascx"%>
<!-- #include virtual="/quickstart/aspplus/include/header.inc" -->
<h4>国际化概述</h4>
<div class="indent" style="font-family:Verdana; font-size:8pt;">
<b> <img align="middle" src="/quickstart/images/bullet.gif"> </b>
<a class="toc2" href="#encoding">编码支持</a><br>
<b> <img align="middle" src="/quickstart/images/bullet.gif"> </b>
<a class="toc2" href="#localization">本地化支持</a><br>
<b> <img align="middle" src="/quickstart/images/bullet.gif"> </b>
<a class="toc2" href="#config">配置设置</a><br>
<b> <img align="middle" src="/quickstart/images/bullet.gif"> </b>
<a class="toc2" href="#summary">本节小结</a><br>
</div>
<p>
<hr>
<!--BEGIN SECTION--> <a name="encoding"><span class="subhead">编码支持</span>
<p>
ASP.NET 在内部使用 Unicode。此外,ASP.NET 还使用 .NET 框架类库中的 <b>String</b> 类和相关的实用工具函数,它们也是内部 Unicode。与外界连接时,可以用几种方法来配置 ASP.NET 以使用已定义的编码,包括 .aspx 文件的编码、请求数据和响应数据。例如,可以用 Unicode 编码方式存储 .aspx 文件并将页的 HTML 输出转换为 ANSI 代码页,如 <nobr>ISO-8859-1</nobr>。
<!--BEGIN SECTION--> <br> <a name="localization"><br> <span class="subhead">本地化支持</span>
<p>
通过 <b>CultureInfo</b> 类可以访问区域设置的属性。此外,ASP.NET 基于每个线程和请求跟踪默认区域性的两个属性:用于区域设置相关函数默认值的 <b>CurrentCulture</b>,和用于区域设置特定的资源数据查找的 <b>CurrentUICulture</b>。
<p>
以下代码显示了 Web 服务器上的区域性值。注意:<b>CultureInfo 类</b>是完全限定的。
<div class="code"><pre>
<%@Import Namespace="System.Globalization"%>
...
<%=CultureInfo.CurrentCulture.NativeName%>
<%=CultureInfo.CurrentUICulture.NativeName%>
</pre></div>
<p>
结果如下:
<p>
<div class="code">
<%=System.Globalization.CultureInfo.CurrentCulture.NativeName%> <br>
<%=System.Globalization.CultureInfo.CurrentUICulture.NativeName%>
</div>
<p>
对于如日期/时间格式或货币这样与区域设置相关的数据,ASP.NET 使用公共语言运行库中的 .NET 框架类库支持。ASP.NET 页上的代码可以使用与区域设置相关的格式化例程,如 <b>DateTime.Format</b>。例如,下列代码以长格式显示当前日期:第一行依照系统区域设置,第二行依照德语 (“de”) 区域设置:
<div class="code"><pre>
<%=DateTime.Now.ToString("f")%>
<%=DateTime.Now.ToString("f", new System.Globalization.CultureInfo("de-DE"))%>
</pre></div>
<p>
结果如下:
<p>
<div class="code">
<%=DateTime.Now.ToString("ff")%><br>
<%=DateTime.Now.ToString("ff", new System.Globalization.CultureInfo("de-DE"))%>
</div>
<!--BEGIN SECTION-->
<a name="config"><br> <span class="subhead">配置设置</span>
<p>
创建 ASP.NET 页或代码隐藏模块时,开发人员可以使用 .NET 框架类库为全球化环境或本地化应用程序提供必要的功能。ASP.NET 还提供使 ASP.NET 应用程序的开发和管理变得容易的配置设置。
<p>
ASP.NET 使用配置文件来提供通常也由子目录继承的目录设置。每个文件都可以包含 <b>Globalization</b> 节,在其中可以指定默认的编码和区域性。如果值为相关的类 <b>Encoding</b> 和 <b>CultureInfo</b> 所接受,则它们是有效的。在 .NET 框架 SDK 中可以找到有关 <b>Encoding</b> 和 <b>CultureInfo</b> 类的更多信息。
<div class="code"><xmp>
<configuration>
<system.web>
<globalization
fileEncoding="utf-8"
requestEncoding="utf-8"
responseEncoding="utf-8"
culture="en-US"
uiCulture="de-DE"
/>
</system.web>
</configuration>
</xmp></div>
在 <b>Globalization</b> 节中,<b>fileEncoding</b> 的值决定 ASP.NET 编码 .aspx 文件的方式,<b>requestEncoding</b> 和 <b>responseEncoding</b> 的值决定请求数据和响应数据的编码方式。
<p>
Web.config 文件中的 <b>Globalization</b> 节的属性也可以在 <b>Page</b> 指令上指定(<b>fileEncoding</b> 除外,因为它应用于文件本身)。这些设置仅对特定页有效并且重写 Web.config 文件的设置。下列示例指令指定页应对响应使用“法语”区域性设置和 UTF-8 编码:
<div class="code"><pre>
<%@Page Culture="fr-FR" UICulture="fr-FR" ResponseEncoding="utf-8"%>
</pre></div>
<p>
<b>注意:</b>在页内,可以通过设置 <b>Thread.CurrentCulture</b> 和 <b>Thread.UICulture</b> 以编程方式更改区域性值。
<p>
<h4><a name="summary">本节小结</a></h4>
<ol>
<li>ASP.NET 支持 .aspx 文件、请求数据和响应数据的广泛编码。
<li><b>CultureInfo</b> 类提供对区域设置相关数据的支持,在该类中跟踪两个值 <b>CurrentCulture</b> 和 <b>CurrentUICulture</b>。
<li>可以为每台计算机、每个目录和每页配置国际化设置。
</ol>
<!-- #include virtual="/quickstart/aspplus/include/footer.inc" -->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -