@LCID

@LCID ディレクティブは、日付、時刻、および通貨の形式を指定します。LCID は、各地域のロケールによって異なります。ロケールによっては、日付が YY-MM-DD 形式になったり、MM-DD-YYYY 形式になったりします。@LCID ディレクティブは書き込み専用です。

LCID は DWORD であり、下位ワードに言語識別子、上位ワードに予約値が入ります。LCID に設定される識別子は、各国を数字で表す標準の省略形です。この LCID は、インストールされたシステムに定義されているロケールの 1 つを一意に識別するために必要なコンポーネントを持ちます。LCID には、LOCALE_SYSTEM_DEFAULT と LOCALE_USER_DEFAULT という 2 つの値があらかじめ定義されています。LOCALE_SYSTEM_DEFAULT は、システムの既定のロケールです。LOCALE_USER_DEFAULT は、現在のユーザーのロケールです。

構文

<% @LCID = localeidentifier %>

@LCID を設定すると、単一の応答におけるリテラル (静的) 文字列に影響します。Response.LCID は、単一応答内の動的文字列に影響し、Session.LCID は、セッション内のすべての応答内の動的文字列に影響します。

@LCID がページ内に明示的に設定されていない場合は、AspLCID メタベース プロパティまたは既定のシステム ロケールによって暗黙的に設定されます。

Response.LCID または Session.LCID を明示的に設定する場合は、書式付き出力を表示する前に行います。同じページ内でリテラル出力と非リテラル出力を使用する場合は、@LCID のロケールが Response.LCID のロケールと一致することを確認してください。一致していない場合は、リテラル出力の書式が非リテラル出力と異なります。

@LCID を設定すると、ASP アプリケーションおよびスクリプト記述エンジンの両方のロケールが変わります。 VBScript 関数 setLocale() を使用すれば、スクリプト エンジンのロケールのみが変更されます。

Web ページのロケールが Web クライアントにおけるシステムの既定値と一致する場合、Web ページでのロケール設定は必須ではありませんが、設定することをお勧めします。

ページ内でロケールが設定されており、文字を適切に表示するためのコードページが設定されている場合、Response.Charset も設定する必要があります。コードページの値は、応答を作成する段階で、データのエンコード方式を IIS に指定します。Charset の値は、応答を表示する段階で、データのデコード方式をブラウザに指定します。Response.Charset の CharsetName は、コードページの値と一致していることが必要です。一致していない場合、ブラウザで表示する文字が統一されません。CharsetNames と対応するコードページの値の一覧については、MSDN Web Workshop の Preferred Charset Label および FamilyCodePage の各列を参照してください。

複数言語対応の Web サイトなどで、各種のロケール、コードページ、および文字セットを使用する Web ページを作成し、テストする場合、テストを実施するクライアント コンピュータには、表示したい各言語の言語パックをインストールしておく必要があります。言語パックは、[コントロール パネル] の [地域のオプション] からインストールします。

パラメータ
localeidentifier
有効なロケール識別子です。

このページは、@LCID を [ロシア] に設定することから始まり、その後 [韓国] に変更します。

--- LCID.asp ---

<%@ LCID=1049 %>

<%
' This file doesn't need to be saved in UTF-8 format because 
'  there are no literal strings that need formatting or encoding.

Response.Codepage = 65001
Response.Charset = "utf-8"

' The LCID is already 1049
Response.Write "<B>Russia</B><BR>"
Response.Write FormatDateTime("17/01/2001", 1) & "<BR>"
Response.Write FormatDateTime("17:41:35", 3) & "<BR>"
Response.Write FormatCurrency(1000) & "<BR>"
Response.Write FormatNumber(50, 3, 0, 0, -1) & " & " & FormatNumber(.02, 3, 0, 0, -1) & "<BR><BR>"

' Now change the LCID to Korea
Response.LCID = 1042
Response.Write "<B>Korea</B><BR>"
Response.Write FormatDateTime(Date, 1) & "<BR>"
Response.Write FormatDateTime(Time, 3) & "<BR>"
Response.Write FormatCurrency(1000) & "<BR>"
Response.Write FormatNumber(50, 3, 0, 0, -1) & " & " & FormatNumber(.02, 3, 0, 0, -1) & "<BR><BR>"
%>
関連項目

Session.LCIDResponse.LCIDインターナショナル クライアントに適応させる


© 1997-2001 Microsoft Corporation.All rights reserved.