看流星社区

 找回密码
 注册账号
查看: 2193|回复: 1

vb读取到的角色名是utf8编码的 显示乱码

[复制链接]

该用户从未签到

发表于 2012-4-25 16:05:51 | 显示全部楼层 |阅读模式
vb读取到的角色名是utf8编码的 显示乱码
有大牛知道怎么转换成u码的么?

该用户从未签到

发表于 2012-4-27 10:10:23 | 显示全部楼层

  1. Function Utf8ToUnicode(ByRef Utf() As Byte) As String
  2.     Dim lRet As Long
  3.     Dim lLength As Long
  4.     Dim lBufferSize As Long
  5.     lLength = UBound(Utf) - LBound(Utf) + 1
  6.     If lLength <= 0 Then Exit Function
  7.     lBufferSize = lLength * 2
  8.     Utf8ToUnicode = String$(lBufferSize, Chr(0))
  9.     lRet = MultiByteToWideChar(CP_UTF8, 0, VarPtr(Utf(LBound(Utf))), lLength, StrPtr(Utf8ToUnicode), lBufferSize)
  10.     If lRet <> 0 Then
  11.         Utf8ToUnicode = Left(Utf8ToUnicode, lRet)
  12.     End If
  13. End Function


  14. Function UnicodeToUtf8(ByVal UCS As String) As Byte()
  15.     Dim lLength As Long
  16.     Dim lBufferSize As Long
  17.     Dim lResult As Long
  18.     Dim abUTF8() As Byte
  19.     lLength = Len(UCS)
  20.     If lLength = 0 Then Exit Function
  21.     lBufferSize = lLength * 3 + 1
  22.     ReDim abUTF8(lBufferSize - 1)
  23.     lResult = WideCharToMultiByte(CP_UTF8, 0, StrPtr(UCS), lLength, abUTF8(0), lBufferSize, vbNullString, 0)
  24.     If lResult <> 0 Then
  25.     lResult = lResult - 1
  26.     ReDim Preserve abUTF8(lResult)
  27.     UnicodeToUtf8 = abUTF8
  28.     End If
  29. End Function
复制代码
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-5-13 22:20

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表