code
function
get_lengthstr(str,length)
dimresultstr
resultstr=""
t=0if
len(str)
<=
length
then
resultstr
=str
else
strlen
=len
(str)
getlen
=cint
(length)*2
forslen =1
tostrlen
chra
=mid
(str, slen, 1)
ifasc
(chra)
>=
0and
asc(chra)
<=
255thent=
t+1elset=
t+2end
ifif
t>=
cint
(getlen)
then
resultstr
=left
(str,slen)&"
"exit
forelse
resultstr
=str
endif
'response.write(t & "
")next
endif
get_lengthstr
=resultstr
end function
上面這個函式是我經常用來擷取字串長度用的,其中還區分了中英文。今天當我再次使用的時候發現擷取的長度不對了,中文和英文沒有區別了(原來設計的是2個英文相當於乙個中文,為了保持長度大致相等)。
經過測試發現,其中asc對於中文得到的結果都是1,但原來我確實應用過,也是沒錯的。
查證了一些vb指令碼的幫助才發現,原來是由於檔案編碼的問題引起的。asc在ansi編碼下面是對的,但在unicode編碼下面就錯了,我今天應用的正好是utf-8的編碼,所以就不對了。只要把asc改成ascw就可以了。
下面是幫助文件的說明:
ascb函式和包含位元組資料的字串一起使用。ascb不是返回第乙個字元的字元**,而是返回首位元組。ascw是為使用 unicode 字元的 32 位平台提供的。它返回 unicode (寬型)字元**,因此可以避免從 ansi 到 unicode 的**轉換。
檔案時間對於CP命令的影響
今天在打包安裝包的時候,碰到這樣乙個問題 打包的伺服器時間由於測試需要被改到這個月的月底了,打包的時候我也沒有在意這個細節,直接在伺服器上重新編譯這個 並且將需要更新的so檔案打入tar包裡面,tar包的時間,包裡面檔案的時間都變成這個月月底的日期了。然後在測試伺服器上進行部署更新的時候,提示說有檔...
對於檔案編碼格式的淺顯理解
字型亂碼這個問題相信很多人都遇到過,但是都是間歇性的,不是經常性的,大多時候都沒有太在意。在遇到過這麼多次亂碼之後,特別是在linux下開啟windows的檔案亂碼,我覺得有必要了解一下編碼方式了。首先,計算機內部只能儲存二進位制資料,即1和0的bit位。所以,我們要讓計算機顯示各種字元,就必須要對...
SELinux對於根檔案系統打包的影響
場景說明 針對大規模的伺服器系統安裝,肯定是通過定製系統盤,完成伺服器的安裝,一般的基本手法是通過將乙個定製好的系統打包,然後通過乙個啟動盤進行安裝。redhat根檔案系統打包安裝之後,使用預設的使用者名稱無法登陸。已有的系統定製於sles系統,並沒有出現類似的問題 前言selinux提供了一種靈活...