ASP的内码转换函数
这个函数可以用来转换不同语言的内码,下面的几段是我从类中摘下来的,可能会有小错,没有调试,相信大家要修复也很容易的,这个函数用处多多,可以很好地解决一些多语言的问题.
只要服务器上有安装对应的语言编码文件,即可以轻松转换内码
Codepage(CharSet,语言)
932(shift_jis,日文)
936(gb2312,简体中文)
949(EUC-KR,韩文)
950(Big5,繁体中文)
65001(UTF-8,UCS)
'名称: Codein
'参数:strings(字符串),TCharSet(使用编码)
'返回值:转内码后的字符串
'作用:内码转换,需要Adodb.Stream支持
'创建时间:2007年11月10日
'******************************
Public Function Codein(strings,SCharSet,TCharSet)
dim tStm
strings=Str2Bin(strings,TCharSet)
Set tStm = Server.CreateObject ("ADODB.Stream")
tStm.Type = 1
tStm.Mode = 3
tStm.Open
tStm.Write strings
tStm.SaveToFile Server.MapPath("/temp_file"), 2'adSaveCreateOverWrite
dim p_CharSet_temp
p_CharSet=TCharSet
Codein = ReadFile("/temp_file")
'kks_fso.delfile("/data/template/temp_file") '删除文件操作,使用FSO
p_CharSet=p_CharSet_temp
End Function
附上Str2Bin和ReadFile
'******************************
'名称: STR2Bbytes
'参数:strings(二进制字符串),C_CharSet(使用编码)
'返回值:网页内容(HTML)
'作用:二进制编码转换函数优化版,需要Adodb.Stream支持
'创建时间:2007年1月10日
'******************************
Public Function Str2Bin(strings,C_CharSet)
'On Error Resume Next
dim stm_Str2Bin
set stm_Str2Bin=createObject("ADODB.Stream")
with stm_Str2Bin
.Type=2
.mode=3
.charSet=C_CharSet
.Open
.WriteText strings
.Position = 0
.type=1
Str2Bin=.Read
.flush
.Close
end with
set stm_Str2Bin=nothing
if Err then
Str2Bin=""
Err.Clear
End if
End Function
'******************************
'名称: ReadFile
'参数:filepath(载入文件的相对路径),p_CharSet(使用的字符集)
'返回值:文件内容
'作用:读取文件
'创建时间:2007年1月10日
'******************************
Public Function ReadFile(filepath,p_CharSet)
On Error Resume Next
dim stm
set stm =server.createobject("ADODB.Stream")
stm.Type=1 '以本模式读取 (adSaveType )
stm.mode=3 'adSavemode
stm.Charset = p_CharSet
stm.Open
stm.LoadFromFile Server.MapPath(filepath)
If Err.number <> 0 Then
Err.Clear
ReadFile = ""
Else
ReadFile = stm.ReadText
End If
stm.Close
set stm=nothing
End Function
版权声明:
作者:Kiyo
链接:https://www.wkiyo.cn/html/2008-01/i542.html
来源:Kiyo's space
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论