作者:葉崇志 / 臺灣大學計算機及資訊網路中心程式設計組幹事
網頁程式想要正確的輸入、輸出unicode資料有許多條件須互相配合才能達成,本文簡略的描述網頁程式正確顯示unicode文字所需的相關系統條件與設定組合,可供有需求的網頁程式設計師參考。
輸入與輸出unicode字元
網頁程式想要正確的輸入、輸出unicode資料有許多設定須互相配合才能達成。大致上可將處理區塊區分為輸入頁面、資料庫與輸出頁面。我們希望輸入為可視的unicode資料時,輸出也同為可視的unicode,但是隨著輸入頁面、資料庫與輸出頁面出不同的排列組合,可能需要搭配對應的額外處理才能正常運作。接下來將會針對個別項目做說明。
圖一:系統簡圖
unicode輸入處理
unicode字元自瀏覽器進入IIS後會轉換為「𘚟」的格式,舉例來說「?」會轉換為「瀞」而後續須配合資料庫的欄位格式為varchar或是nvarchar作不同的處理。若欄位為varchar格式則直接以adVarChar格式存入資料庫,後續輸出時可利用轉換函式顯示unicode字元;而nvarchar格式原生支援儲存unicode資料,但是需要利用轉換函式將字元由「𘚟」的格式轉換為unicode編碼再以adVarWChar格式存入資料庫nvarchar欄位。
圖二:輸入處理
unicode輸出處理
nvarchar格式的資料直接輸出即可;而以varchar格式並以「𘚟」形式儲存的unicode字元則須透過轉換函式轉換為unicode編碼後再輸出。
圖三:輸出處理