如何在ASP內判定BIG5碼中文字

大多數的 asp 應用程式若是在 utf-8 模式下開發, 前面多會有這麼一行:

<%@LANGUAGE=”VBSCRIPT” CODEPAGE=”65001″%>

然而有個很麻煩的事是在處理判定 BIG5 編碼的中文字. 在正常的狀況下, 應該不會用到這樣的功能, 因為無論是 BIG5 或非 BIG5 的中文字都是可以在 UTF-8 的環境下良好並存的, 但若是和一些舊的程式或其他異質環境介接, 就會遇到這種問題, 解決的方式是利用 asp 的 codepage 來轉換內碼後判定即可. 方式如下:

Function IsBig5(strChar)

    ' check A440~C67E 常用字, C940~F9D5 次常用字

    session.codepage="950"
    Dim lngAsc
    lngAsc = Asc(strChar)
    IsBig5 = (lngAsc >= -23488 And lngAsc <= -14722)
    If Not IsBig5 Then IsBig5 = (lngAsc >= -14016 And lngAsc <= -1579)
    session.codepage="65001"
End Function