web|技巧|網站 在 Internet 或 Intranet 上發布訊息的一個優點是您可以建立一個使用者可以從不同國家(地區)訪問的國際化 Web 網站。使用者可以申請已被本地化為當地語言的網頁,使用瀏覽器的語言版本閱讀。在建立一個包含有多種語言網頁的 Web 網站時,需要轉換在瀏覽器與 Web 服務器間或 ASP 指令碼與 ActiveX 組件間傳遞的字串。例如,如果一個日文瀏覽器在 HTTP 要求中發送了表格或查詢字串值,此字串必須從瀏覽器的日文字元集轉化為 ASP 用於處理指令碼的字元集。
如果 Web 網站上的所有頁都用 Web 服務器所使用的預設字元集書寫,那麼 ASP 將自動進行轉換。但是,如果網頁是用其他的字元集寫的,就必須用 ASP 命令指明如何轉換字串。例如,如果您的網站既有日文字元集的網頁,又有中文字元集的網頁,就必須指明 ASP 處理某一特定頁時所用的字元集。
ASP 也提供了支援不同地區文化習慣的命令,如貨幣、時間和日期格式。同字串轉換命令一樣,如果您的指令碼沒有使用 Web 服務器的預設現場,則要使用現場命令。
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 是標準日文字元集的兩種不同的字元編碼)。