新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > Web开发 > Asp教程 > 正文:Using the Locale Identifier (LCID) (2)

Using the Locale Identifier (LCID) (2)

新客网 XKER.COM 2003-07-11 来源: 收藏本文
In Part 1 we discussed how the Web server's regional settings (editable by the Administrator through the Control Panel's Regional Options icon) affect the output of VBScript's Format functions. In this part we'll look at using the Session.LCID property to change this default locale on a user-by-user (or Web page-by-Web page) basis! <br>
<br>
Setting the Locale ID on a User-by-User Basis:<br>
While the default locale setting dictates the output of the Format functions, what if you want to have the output differ based on the person visiting the page? (Perhaps you run a site where the user can customize the output or content presented, a site like My Yahoo! or any of the other customizable portals.) One option is to use the LCID property of the Session object (LCID stands for Locale Identifier). For example, you can specify the Locale for a particular user to be Estonian by using the following code: <br>
<br>
Session.LCID = 1061 'Estonian Locale ID&nbsp;&nbsp;<br>
<br>
<br>
Now, you may be wondering how in the world I knew that Estonian's LCID was 1061. The simplest way is to consult Microsoft's LCID table. This handy table contains a listing of all of the various locales and their associated IDs. By simply changing this locale ID, the output for the VBScript Format functions will change for the particular user. Using this property you can automatically have the Format functions' output change based on the user's LCID. <br>
<br>
One thing to be wary of is currency issues. For example, if I am running an English eCommerce site and have my Web server's regional settings set to English - United States by default, I may have some code that looks like this: <br>
<br>
Shoes cost: &lt;%=FormatCurrency(45.56)%&gt;&nbsp;&nbsp;<br>
<br>
<br>
Since, in this hypothetical example, I run an eCommerce site in the US, I mean that the cost for the shoes are 45 dollars and 56 cents. However, if set a user's Session.LCID property to, say, 2057 (English - United Kingdom), the shoes would appear to cost 45.56 pounds! Therefore, if you plan on altering the LCID settings I strongly encourage that you do not use the FormatCurrency function or, if you do, that instead of passing a hard-coded value into the function you pass in the result of some currency exchange rate calculation function: <br>
<br>
Shoes cost: &lt;%=FormatCurrency(ConvertFromDollars(45.56))%&gt;&nbsp;&nbsp;<br>
<br>
<br>
The ConvertFromDollar function would then consult the Session.LCID property to determine what currency we were converting our dollars to. (You would then need to use some component like iisCARTex to perform the actual currency conversion.) <br>
<br>
Setting the Locale ID on a Page-by-Page Basis:<br>
You can also specify the LCID for an entire ASP page instead of on a user-by-user basis. For example, if you had a Web page on your site that, for some reason, you wanted to always use the Hebrew formatting style (LCID 1037) you could do so via the @LCID directive. As with the other ASP directives (@LANGUAGE, @ENABLESESSIONSTATE, etc.), the @LCID directive must appear before any ASP or HTML code. For example, to set an ASP page's LCID to 1037 (Hebrew), we could use the following code: <br>
<br>
&lt;%@LCID=1037%&gt; <br>
<br>
<br>
or, if we wished to specify multiple directives, we could do: <br>
<br>
&lt;%@LANGUAGE=&quot;VBSCRIPT&quot; LCID=1037%&gt; <br>
<br>
<br>
That's all there is to it! <br>
<br>
Conclusion:<br>
In this article we examined how to set the default locale settings through the Regional Options icon in the Web server's Control Panel. This locale default determines how VBScript's Format functions produce their output. Any locale setting can be fully customized for a very unique look and feel for representing numbers, dates and times, and currencies. ASP also provides a Locale ID on both a user-by-user basis and a page-by-page basis. To specify a locale ID (LCID) for a particular user, set the Session.LCID property to the appropriate numeric ID. To set the LCID for a particular ASP page, use the @LCID directive. (For a listing of the various LCIDs and their respective values, check out the LCID table.) <br>
<br>
Happy Programming! <br>
<br>
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐