20080818

[解法]asp如何判斷讀檔讀到的是big5或utf-8

有的時候,就算找得到解法也未必能立刻就手,
還需要稍微測試並修改一下!

下段的程式是針對伺服器端讀檔時,分析讀出來的文字檔是否為純BIG5編碼,
如果判斷摻雜了非BIG5的編碼,則須以utf-8再讀一次,
現在中文前台的揭示普遍使用utf-8!
至於簡體碼的玩法大致相同,
此段程式為我實作「極簡個人檔案管理網頁」遭遇到的難題!
由於上傳的文字檔使用的編碼有big5/utf-8兩種,
全面轉檔再上傳不合效益,所以在伺服器端加上這個
在讀出檔案時自動偵測檔案內容編碼而決定是否切換編碼的功能。

應用面上若有問題歡迎來信問我!

function isBIG5(tmpstr)
' check A140~A1FE 全形符號, A440~C67E 常用字, C940~F9D5 次常用字
session.codepage=950
Dim lngAsc
for k=1 to 240
strChar=mid(tmpstr,k,1)
lngAsc = Asc(strChar)
if len(hex(lngAsc))<3 then
IsBig5=true
else
IsBig5 = (lngAsc >= &hA440 And lngAsc <= &hC67E )
If Not IsBig5 Then IsBig5 = (lngAsc >= &hC940 And lngAsc <= &hF9D5)
If Not IsBig5 Then IsBig5 = (lngAsc >= &hA140 And lngAsc <= &hA1FE)
end if
if Not IsBig5 then exit for
next 'k
session.codepage=65001
end function 'isBig5

前一版本請參考

0 意見:

張貼留言