今天一个客户需做多语言的网站系统,但他原来的系统是GB2312的。又不想重输数据~!后台管理系统是GB的。。要重做好费时间!想了想觉得只好用UTF8来做了字符转换。
但在网上找了一些GB2312转UTF8的代码。调试一看。不是出错就是全部转换了。因为数据里有HTML代码。。导至格式全乱了。。。!
没办法。只好自已动手写。。参考了几个程序后。。写出来的。。调试后~~基本没什么问题~~呵呵~!
ASP的代码。。有错的希望可以提出`~至于转换速度就没有调试了~
Function chinesetoutf8(Byval Chinese)
'code by 350am
350am@163.comsGB = Trim(Chinese)
For i = 1 to Len (sGB)
sTemp = Mid(sGB ,i,1)
iTemp = Asc(sTemp)
If (iTemp>127 OR iTemp<0) Then
iUnicode = AscW(sTemp)
If iUnicode<0 Then
iUnicode = iUnicode + 65536
End If
Else
iUnicode = iTemp
End If
sResult = sResult &GBTOUTF8(iUnicode)
next
chinesetoutf8=sResult
End Function
Function GBTOUTF8(Byval a_iNum)
'code by 350am
350am@163.comiHexNum = Trim(a_iNum)
If iHexNum = "" Then
Exit Function
End If
sResult = ""
If (iHexNum >127) Then
sResult = sResult & "" & Hex(iHexNum) & ";"
Else
sResult = sResult & chr(iHexNum)
End If
GBTOUTF8=sResult
End Function