永发信息网

ASP读取数据库 UTF8编码

答案:3  悬赏:30  手机版
解决时间 2021-11-21 13:56
  • 提问者网友:了了无期
  • 2021-11-21 10:04
ASP读取数据库 UTF8编码
最佳答案
  • 五星知识达人网友:由着我着迷
  • 2021-11-21 10:45
Function UTF2GB(s)
Dim sm
Set sm = Server.CreateObject("ADODB.Stream")
With sm
.Type = 2
.Mode = 3
.Open
.CharSet = "UTF-8"
.WriteText s
.Position = 0
.CharSet = "GB2312"
UTF2GB = .ReadText(-1)
.Close
End With
Set sm = Nothing
End Function
全部回答
  • 1楼网友:春色三分
  • 2021-11-21 12:14
你先尝试一下,将你的ASP文件用记事本打开,然后重新另存为一下,但这里要注意的是将编码选择为:utf-8,如果还不行尝试在页面加入,如果问题还不能解决,你再补充一下。
  • 2楼网友:像个废品
  • 2021-11-21 11:51
你是Ajax发送数据的吧,试试将输出值进行编码了再写出。js获取后会自动进行解码,然后输出就是原样了提供个asp的编码函数你试试,可以将它包含的公共文件中Function jsEncode(str)
Dim i, j, aL1, aL2, c, p
aL1 = Array(&h22, &h5C, &h2F, &h08, &h0C, &h0A, &h0D, &h09)
aL2 = Array(&h22, &h5C, &h2F, &h62, &h66, &h6E, &h72, &h74)
For i = 1 To Len(str)
p = True
c = Mid(str, i, 1)
For j = 0 To 7
If c = Chr(aL1(j)) Then
jsEncode = jsEncode & "\" & Chr(aL2(j))
p = False
Exit For
End If
Next
If p Then
Dim a
a = AscW(c)
If a > 31 And a < 127 Then
jsEncode = jsEncode & c
ElseIf a > -1 Or a < 65535 Then
jsEncode = jsEncode & "\u" & String(4 - Len(Hex(a)), "0") & Hex(a)
End If
End If
Next
End Function Response.Write("Text=汉字&UserID=0001&UserName=" & jsEncode( rs("username")))
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯