跳到主要內容區塊

ntuccepaper2019

專題報導

淺談網頁程式unicode顯示問題–以MSSQL與Classic ASP為例-暫存
  • 卷期:v0049
  • 出版日期:2019-06-20

作者:葉崇志 / 臺灣大學計算機及資訊網路中心程式設計組幹事


網頁程式想要正確的輸入、輸出unicode資料有許多條件須互相配合才能達成,本文簡略的描述網頁程式正確顯示unicode文字所需的相關系統條件與設定組合,可供有需求的網頁程式設計師參考。

 

輸入與輸出unicode字元

網頁程式想要正確的輸入、輸出unicode資料有許多設定須互相配合才能達成。大致上可將處理區塊區分為輸入頁面、資料庫與輸出頁面。我們希望輸入為可視的unicode資料時,輸出也同為可視的unicode,但是隨著輸入頁面、資料庫與輸出頁面出不同的排列組合,可能需要搭配對應的額外處理才能正常運作。接下來將會針對個別項目做說明。

Art editor Img
圖一:系統簡圖

 

unicode輸入處理

unicode字元自瀏覽器進入IIS後會轉換為「𘚟」的格式,舉例來說「?」會轉換為「瀞」而後續須配合資料庫的欄位格式為varchar或是nvarchar作不同的處理。若欄位為varchar格式則直接以adVarChar格式存入資料庫,後續輸出時可利用轉換函式顯示unicode字元;而nvarchar格式原生支援儲存unicode資料,但是需要利用轉換函式將字元由「𘚟」的格式轉換為unicode編碼再以adVarWChar格式存入資料庫nvarchar欄位。


Art editor Img
圖二:輸入處理

unicode輸出處理

nvarchar格式的資料直接輸出即可;而以varchar格式並以「𘚟」形式儲存的unicode字元則須透過轉換函式轉換為unicode編碼後再輸出。

Art editor Img
圖三:輸出處理