轉換代碼頁,設定現場標識,
轉換代碼頁
代碼頁是一個內部表,作業系統用它將符號(字母、數字和標點符號)映射為字元編號。不同的代碼頁支持不同國家(地區)所使用的字元集。代碼頁通過編號引用,例如,代碼頁 932 代表日文字元集,代碼頁 950 代表繁體中文字元集。
Active Server Pages和 ActiveX腳本引擎在內部使用 Unicode,這是一種 16 位固定長度的字元編碼標準。如果您編寫的所有頁都使用 Web 伺服器的默認代碼頁,則 ASP 將自動轉換字元串。如果您的腳本不使用 Web 伺服器的默認代碼頁,則應該指明所用的代碼頁以便字元串在 ASP 和腳本引擎間傳遞時能被正確轉換。另外,您也可以為在瀏覽器與腳本間或 ActiveX 組件與腳本間傳遞的字元串指定代碼頁。
要為 ASP 頁指定代碼頁,可使用 CODEPAGE 指令。例如,設定日文代碼頁,可使用以下指令:
<%@ CODEPAGE= 932 %>
當 ASP 處理這一頁的內容和腳本時,將使用您指定的代碼頁來決定如何將腳本中的字元從您的腳本的字元集轉化為 Unicode。例如,在 ANSI 中代表字母 "a" 的值將被轉化為在 Unicode 中代表字母 "a" 的不同的值。
Active Server Pages 假定在伺服器和瀏覽器間或腳本和 ActiveX 組件間傳遞的字元串的代碼頁與您為腳本設定的代碼頁是相同的。若要指定不同的代碼頁,可以設定Session.CodePage屬性,從而覆蓋 CODEPAGE 設定。例如,您使用 JIS 書寫腳本,但要回響使用 UTF-8 的客戶程式,(JIS 和 UTF-8 是標準日文字元集的兩種不同的字元編碼)。
Session.CodePage默認設定為 CODEPAGE 指令的值;對該屬性的設定將覆蓋當前的 CODEPAGE 設定。例如,要將代碼頁改為繁體中文,可使用如下命令:
<% Session.CodePage = 950 %>
如果您只是臨時更改部分腳本的代碼頁,在此之後一定要將Session.CodePage設定為原來的值。以下腳本顯示如何臨時更改代碼頁:
<!-- Welcome to my home page in Japanese, code page 932 --!><%@ CodePage = 932 %>...<% Session("OriginalCodePage") = Session.CodePage %><!-- Look up name in Chinese, code page 950 --!><% Session.CodePage = 950 %><% Sender = ReadMailHeader("Sender") %><% Found = FindFriend("Sender") %><!-- Restore the original code page --!><% Session.CodePage = Session("OriginalCodePage") %><% If Found == TRUE ReplyWithPersonalizedForm() else ReplyWithBusinessForm()%>
設定現場標識
現場是與用戶語言相關的一組用戶首選項信息。現場決定如何格式化日期和時間、項目;如何按字母排序以及如何比較字元串。現場標識 (LCID) 是唯一定義現場的 32 位數值。如果您沒有為腳本指定不同的現場,那么 ASP 將使用 Web 伺服器的默認現場。
要為 ASP 頁設定現場標識,可使用 LCID 指令。例如,要設定日文現場,可使用下列現場 ID:
<%@ LCID = 1041 %>
LCID 指令告訴 ASP 書寫腳本所用的現場。如果要更改腳本的輸入或輸出現場,可使用Session.LCID屬性。例如,要將現場設定為標準法語,可使用如下命令:
<% Session.LCID = 1036 %>
Session.LCID的默認設定為 LCID 指令的設定。在腳本中設定Session.LCID的值將覆蓋默認設定。