當前位置:編程學習大全網 - 編程語言 - 關於文字編碼轉換問題

關於文字編碼轉換問題

書寫妳的第壹個WML頁面

這裏假設讀者已經擁有了壹臺電腦,並且已經安裝了Windows NT Server 4.0版本(對於個人來說壹般選擇獨立域服務器安裝),通過電話線能夠接入到Internet。在這個基礎上來講述如何搭建WAP平臺。

首先要給Windows NT Server打上Server Patch 4.0。壹般在網絡上可以找到Server Pack 4.0版本。然後安裝Option Pack 4.0,裏面有Internet Information Server 4.0(以下簡稱為IIS)。如果擁有Visual Studio 6.0企業版,這個的問題就很簡單了:直接安裝Back Office就可以解決問題。Back Office裏面含有很多服務組件。其中就有Internet Information Server和FrontPage Server Extension。安裝完成之後,現在的電腦就是壹臺為開發而使用的服務器。

翻到本書後面的WAP資源壹章,找到下載WinWAP 2.2的網址。從網上下載壹個WinWap 2.2,將它安裝在電腦上。在完成WML瀏覽器安裝後,試著啟動它。如果壹切正常,它將直接通過Internet連接到提供商的WML主頁上。在菜單裏可以找到 “View Source”(查看源文件)這個選項。通過閱讀別人的WML頁面進行學習,是壹種很好的學習方式。

使用記事本(或者讀者喜歡的文本編輯器)輸入壹個最小的WML頁面,如圖2-10所示。輸入的時候註意,第壹行要頂著開頭寫,不要留下空白或者空行。否則,在其他模擬器瀏覽下就會出現問題。WML對頁面書寫的要求比較嚴格,因此最好按照要求來做,否則後面很麻煩。

<?xml version="1.0"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"

")去下載壹個Java 2 SDK或者Java 2 Runtime Environment(JRE)才可以安裝使用Nokia WAP Toolkit。

安裝完之後,可以看到WAP工具包程序組中包括壹個工具包IDE,壹個很好的關於WAP、WML和WMLScript的詳細文檔以及工具包本身。該工具包可以在同壹個應用環境下進行編輯、修改和測試WML/WMLScript文件等工作。

用戶可以通過直接裝載WAP應用的URLs或通過WAP網關進行瀏覽網頁。Nokia還出售壹個獨立的基於WAP Server的Java Servlet。該產品將應用服務器功能和WAP網關功能集成到壹個產品中。總體來說,Nokia WAP Toolkit相對顯得較成熟、實用。

--------------------------------------------------------------------------------

l 安裝指南

在從Sun的Java站點下載了Java運行環境以後就可以開始安裝Java運行環境:先安裝jdk1_2_2-001-win.exe,然後安裝jre1_2_2-001-win-i.exe,最後安裝hostpot_1_0_1-win.exe。

安裝Nokia WAP Toolkit:在安裝了Java運行環境之後,直接運行Setupex12.exe。如果還沒有安裝Java運行環境或者安裝了不合適的Java版本,安裝程序都會給出提示並自動退出程序。

--------------------------------------------------------------------------------

l 啟動

從“開始”菜單欄中找到“Nokia WAP Toolkit”,選擇“Toolkit”。Nokia WAP Toolkit就啟動了。由於Nokia WAP Toolkit是使用Java編寫的,因此啟動的時候過程比較緩慢。在啟動以後,就自動處於如圖2-19所示狀態:

圖 2-19 Nokia WAP Toolkit

左邊是集成開發環境,右邊是6150界面的模擬器。在啟動Nokia WAP Toolkit之後,它自動調用壹個工具包自帶的初始化頁面,並將其文本內容顯示在“WML Deck”壹欄中。

--------------------------------------------------------------------------------

l 功能介紹

總的來說Nokia WAP Toolkit的使用並不是很復雜。只要懂得WAP中的壹些概念,學習起來還是很容易的。其他模擬器的基本功能都十分相似,在本書中不再做詳細介紹。

File

主要是關於文件操作的功能。“New”用來生成壹個新文件。註意到Nokia WAP Toolkit支持WML、WMLScript和WBMP文件的編輯。“Open”是用來打開文件,“Save”用來保存當前文件,“Save As”是將文件另外保存。

Edit

主要是和編輯相關的功能。這和壹般的寫字板的編輯功能沒有太大的區別。需要註意的是:無法粘貼其他Windows窗口的文本或者拷貝當前的文本到其他Windows窗口。

Go

“Back”返回到上壹個頁面。“Home”返回到初始頁面。“Refresh Card”刷新裝入卡片。“Reload Deck”重新裝入頁面。“Stop Loading Deck”停止裝入頁面。在裝入的過程中,用戶可以隨時停止裝入。“Load Location”給模擬器指定壹個URL地址。如果聯合Web服務器做測試,那麽這將是壹個經常使用的功能。“Load File”從文件裝入頁面。

Toolkit

“Toolkit”中主要是關於開發環境的壹些設置選項。“Show”中的選擇項控制著在界面上需要顯示哪些欄目。其中“Message”是關於瀏覽器的記錄;“Variables”是關於當前頁面中的變量記錄;“History”是關於瀏覽器的歷史記錄;“Book Mark”主要記錄了書簽地址;“WML Deck”是當前WML頁面的文本內容;“Session”顯示了瀏覽器與服務器之間的交互狀況。

“Clear Bytecode Cache”是壹個非常有用的功能。如果不清除Cache,那麽模擬器會自動調用上次的頁面。特別是做調試的時候,如果對頁面的錯誤已經做了修改,但是忘記了清除Cache,那麽在使用模擬器瀏覽的時候,它仍然將使用上次保存在Cache中的錯誤頁面。所以每次修改之後,不要忘了選擇這個功能。實際上,WAP手機中也有這個功能。如果使用手機測試的時候忘記了這壹點,那麽將永遠找不到正確答案。有關Cache的問題,在後面將有詳細的討論。

“Add Bookmark”增加壹個書簽。如果在輸入URL地址的時候覺得比較麻煩,就可以使用這個功能。在Nokia 7110中,也有同樣的書簽功能。

“Preference”是配置壹些比較高級的選項。在“Communication”中,可以設置模擬器是通過HTTP直接訪問WML內容服務器,還是通過網關訪問。當通過網關的時候,需要對網關進行詳細的配置。“Encoding”是選擇編碼方式。在使用快速編碼的時候很容易出現編譯錯誤,可以把這項取消。在“General”中是其他壹些配置,壹般不影響模擬過程。

通過壹個簡單的WML頁面來了解WML的基本情況

請大家先看第壹個例子:

<?xml version="1.0"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "">Yestock</a><br/>

<a href="#nextcard">Next Card</a>

</p>

</card>

<card id="nextcard">

<p>

this is the second card.

</p>

</card>

</wml>

通過以上示例大家可以了解到以下內容:

語法

WML的語法與HTML相似,仍然是壹種標記語言,而且延續了XML語法規則。

標簽

在XML和WML語言中,語言的基本元素稱之為“標簽”。

標簽必須被“<” 和“>”括起來。

大多數標簽都包括“起”“止”兩部分。例如:<p>…</p>。

某些特殊標簽可以只有壹個標簽,但是必須有結束標記“/”。例如:<prev/>。

屬性

XML語言的標簽可以包含很多屬性,給標簽提供必要的附加信息。

屬性內容通常在起始標簽內使用。

屬性只作為參數為標簽提供必要的信息,不會被瀏覽器顯示。

屬性的值需要被引號括起來(不能省略,這點與HTML不相同),可以是單引號或者雙引號,引號可以成對嵌套使用。

例如:

<card id="friends" title="Hot link">

id和title就是屬性,而“friends”和“Hot link”就是屬性值。

註釋

註釋內容是方便制作者閱讀源代碼,不會被瀏覽器顯示。WML不支持註釋嵌套。當註釋中需要使用關鍵字的時候,例如:“<”或“>”。需要使用CDATA來躲避語法檢查。CDATA內的數據內容都會被當作文本來處理,從而避開語法檢查,直接作為文本顯示。看下面的例子:

<?xml version="1.0"?>

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

<card id="main" title="CDATA Test">

<p>

Result:

<![CDATA[<b>this is a test !</b>]]>

</p>

</card>

</wml>

Nokia WAP Toolkit 1.2的測試結果如圖2-20所示:

圖 2-20 CDATA測試結果

文檔結構

WML文檔是由卡片(card)和頁面(deck)構成的,壹個頁面是壹個或多個卡片的集合。在這裏做個比方:頁面就好比是手中的壹副撲克牌,而每壹張牌就是卡片。那麽在橋牌的每壹局中,雖然手中的卡片會有所不同,但是將這些卡片統稱為頁面。

在得到客戶終端的請求之後,WML服務器通過網絡把頁面發送到客戶的瀏覽器(有時候被稱作用戶代理)。訪問者可以瀏覽頁面內包含的所有卡片,而不必從網上單獨下載每壹個卡片。程序中的第壹個卡片是缺省可見的卡片。

如果WAP設備接收到上面例子的程序(需要提醒的是:手機接收到的內容是已經經過WAP網關編碼的二進制WML,而不是文本形式。這點是與HTML不同的地方。),那麽它將首先顯示第壹個卡片,也就是“friends”卡片。

使用CGI程序生成動態WML頁面和使用CGI編程生成動態HTML的方式基本壹樣。只是在返回WML頁面前,先要輸出Content-Type為text/vnd.wap.wml,然後再輸出WML內容。

輸出的返回格式:"Content-type: text/vnd.wap.wml\n\n"。

我在Catalina Server下調試通過。程序根據妳選擇的不同check選擇項返回不同的信息。這個小工具對於在程序調試的時候是十分有用的。妳可以在妳的form中間加入壹個check選擇項,將action指向snoop就可以知道用戶代理發送給服務器的所有內容,方便吧!

當妳輸入check=User-Agent的時候,那麽返回的就是User-Agent的值。m3Gate只能在使用IE的時候才可以啟動。UpPhone傳回的數據最長。Nokia WAP Toolkit 1.2相比之下就比較簡單。ccWAP居然就只有:WML Browser。其他類型的User-Agent值妳可以在“瀏覽器列表”中找到!

  • 上一篇:珠寶行業網絡媒體
  • 下一篇:不愧是的計算機大佬學生黨
  • copyright 2024編程學習大全網