这是我找的unicode转码的函数,不知道对你有没有用<SCRIPT language="VBScript"><!--
Function URLEncoding(vstrIn)
    strReturn = ""
    For i = 1 To Len(vstrIn)
        ThisChr = Mid(vStrIn,i,1)
        If Abs(Asc(ThisChr)) < &HFF Then
            strReturn = strReturn & ThisChr
        Else
            innerCode = Asc(ThisChr)
            If innerCode < 0 Then
                innerCode = innerCode + &H10000
            End If
            Hight8 = (innerCode  And &HFF00)\ &HFF
            Low8 = innerCode And &HFF
            strReturn = strReturn & "%" & Hex(Hight8) &  "%" & Hex(Low8)
        End If
    Next
    URLEncoding = strReturn
End FunctionFunction bytes2BSTR(arrBytes)
strReturn = ""
arrBytes = CStr(arrBytes)
For i = 1 To LenB(arrBytes)
ThisCharCode = AscB(MidB(arrBytes, i, 1))
//MsgBox(ThisCharCode)
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
//i = i + 1
//MsgBox(1111)
Else
NextCharCode = AscB(MidB(arrBytes, i+1, 1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
//MsgBox(strReturn)
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function 
//MsgBox(bytes2BSTR("test"))
-->
</SCRIPT>

解决方案 »

  1.   

    URLEncoding这个方法就能解决,但是我想要javascript写的,我不会vbscript...
      

  2.   

    问题严重了,我在javascript里调用上面的方法,报错。
      

  3.   

    加前缀“0x”(零和x|X)表示 16 进制整型值。可以包含数字 0 到 9,以及字母 A 到 F(大写或小写)。使用字母 A 到 F 表示十进制 10 到 15 的单个数字。就是说 0xF 与 15 相等,同时 0x10 等于 16。
    JS参考手册:http://download.csdn.net/source/204354
      

  4.   

    0xD6D0 这个看着象是 gb2312 的区位码
      

  5.   

    找到个资料说:0xD6D0这个是gb2312编码,也就是中国的ANSI编码。我试着把上面的VBScript的方法转换成javaScript,失败了Asc在javaScript中对应的方法是什么啊?有人帮忙把zilchxp()的Function URLEncoding(vstrIn)方法改成javaScript的没?俺实在不行了
      

  6.   

    明白了,原来是没有这个功能啊。难怪我找了那么长时间,没找到其实你为什么不从服务端解决? 非要拿把锄头奔月....
    我们现在做的东西是在IBM的Websphere commerce 解决方案下去开发的,后台一般只做扩展,不会直接修改,这个问题不大,不想扩展。结帖,给分。