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

前一版本請參考

20080812

[衍道]道德經辨解:帛與簡

[衍道]道德經辨解:帛與簡
[經解] 神閑子
[日期] 20080811
[原文]

讀老子的困難之處,在於手上所能取得的原文的完整性與正確性,多數人手上的文本,是受到後人展轉傳抄、承訛襲謬時摻入了自己的想法的成品,因此與那位曠世的哲人老子的原意或者有些偏離。

七十年代在湖南馬王堆漢墓出土帛書老子。之後,一九九三年,湖北省荊門市南部的郭店一號楚墓出土了一批為數七百三十枚的有字竹簡。簡上抄刻了十六種古藉,其中包括三組老子(以竹簡形制區分,今天稱為《老子》簡甲本,簡乙本和簡丙本)。

由於竹簡老子的年份可追溯至戰國中期,其成書年代,較帛書老子更為久遠,於是這下好玩了,以帛書老子為宗著書立說的一派瞬間沒了底氣,可以說之前沸沸漡漡的有憑有據的一些校正,在瞬間有被挨了一刮子耳光的感覺。

然後著書立說的、注釋的,開始交詰攻訐,本著當初注釋的原則而逐字逐句的反覆推敲。

但是,我想說的是……這又如何?
難道帛書老子一出,之前譯註的那些人的就錯了嗎?難道簡書老子一出,用帛書老子譯註的人就錯了嗎?

不會有錯的,世間原本就沒有善惡對錯的分別,老子說了,「有美斯有惡」,這個說法不管多少個版本的老子都不會被修正,為何不會被修正,因為最貼近道的道理是不容易被扭曲的。

相對的,被曲解、被錯置,被填入、串入後人註解的那些版本,難道就不能看了嗎?那也不至於,根據過往的經驗,看得懂的,就是看得懂,那些累綴的、額外的糟粨,打從一開始,就不會進入真正敞開胸懷去擁抱老子的人的眼裡。

舉例說明,一個剛燒製完成的陶碗,是碗;一個掉入泥漥裡裹滿污泥的陶碗,是碗;一個埋藏地下數百年的陶碗,還是碗;只要這碗沒有摔碎,就仍是碗,即使摔成碎片了,遇到熱忱更加深厚的人,他仍會說那是碗!

老子的真意不會因為不同的注釋而產生分歧,相對錯誤的注釋,並不會扯遠「渴望求道」的道路,所以,真的想瞭解天道的人,隨便抓一個版本都可以看,當然,如果碰巧拿到一本被相對貼近道的人注釋過的版本,就會更快入門了。

這麼說吧,註解老子道德經的相對較快的法門,是先把「道法自然」深刻的放在心中,然後去揣摩文字間的真意,老子寫這道德經的唯一目的,就是要傳道,將千年前的他跟這個無形無狀卻又實實在在的東西接觸過後的感想,好好的傳授給我們。

道德經的每一篇,都只是道的枝蔓,道的形象,多看一篇,少看一篇,不會有很大的差別,若說有差別,差別僅在於對道的體悟的快慢而已。

如果「道」真的如同老子所說的那麼神妙!那麼,無所不在的道,自然也會存在於抄錯的老子、曲解的老子甚至其他諸子百家學說之中。