程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP入門教程 >> ASP系列講座(二十二)使用國際站點

ASP系列講座(二十二)使用國際站點

編輯:ASP入門教程
在 Internet 或 Intranet 上發布消息的一個優點是您可以建立一個用戶可以從不同國家(地區)訪問的國際化 Web 站點。用戶可以申請已被本地化為當地語言的網頁,使用浏覽器的本地化版本閱讀。在建立一個包含有多種語言網頁的 Web 站點時,需要轉換在浏覽器與 Web 服務器間或 ASP 腳本與 ActiveX 組件間傳遞的字符串。例如,如果一個日文浏覽器在 HTTP 請求中發送了表格或查詢字符串值,此字符串必須從浏覽器的日文字符集轉化為 ASP 用於處理腳本的字符集。

如果 Web 站點上的所有頁都用 Web 服務器所使用的默認字符集書寫,那麼 ASP 將自動進行轉換。但是,如果網頁是用其他的字符集寫的,就必須用 ASP 命令指明如何轉換字符串。例如,如果您的站點既有日文字符集的網頁,又有中文字符集的網頁,就必須指明 ASP 處理某一特定頁時所用的字符集。

ASP 也提供了支持不同地區文化習慣的命令,如貨幣、時間和日期格式。同字符串轉換命令一樣,如果您的腳本沒有使用 Web 服務器的默認現場,則要使用現場命令。

設置字符串轉換代碼頁
代碼頁是一個內部表,操作系統用它將符號(字母、數字和標點符號)映射為字符編號。不同的代碼頁支持不同國家(地區)所使用的字符集。代碼頁通過編號引用,例如,代碼頁 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 的值將覆蓋默認設置。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved