vb调用mysql数据库表,数据库编码是urf8,结果中文字符显示乱码

lzj_freedom 2006-07-13 01:46:31
我用vb调用mysql数据库,结果集里有中文的地方都变成了?,数据库编码是urf8,请问该如何转码?
...全文
676 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bamboo_leo 2006-09-26
  • 打赏
  • 举报
回复
今天寻找关于这问题解决方法的时候,竟然发现一个网站的贴的内容跟这里的是一模一样的。真是有意思呀,
那个网站的文章地址:http://dev.9983.com/ku/5101/4877990.asp
lzj_freedom 2006-07-13
  • 打赏
  • 举报
回复
搞定了,呵呵,谢谢大家。
僵哥 2006-07-13
  • 打赏
  • 举报
回复
搜一下吧,前不久我才回复过一个这样的问题。大概同MySQL数据库的charset设置有关系。
lzj_freedom 2006-07-13
  • 打赏
  • 举报
回复
唉,我就是搜不到才问的
一笑拔剑 2006-07-13
  • 打赏
  • 举报
回复
以前论坛好像讨论过

你搜索下以前的帖子看下
一笑拔剑 2006-07-13
  • 打赏
  • 举报
回复
是的哦

但是vb是unicode阿所以乱码
lzj_freedom 2006-07-13
  • 打赏
  • 举报
回复
楼上的方法试过了,不成。请问楼上,我是通过sql语句取出结果放到rs里,是不是放的过程中utf8的字符自动转换成别的或者是vb默认的字符,导致无法转换?
一笑拔剑 2006-07-13
  • 打赏
  • 举报
回复
GetUTF8Code是转换为utf8的
UTF8_Decode是utf8转换回来的
一笑拔剑 2006-07-13
  • 打赏
  • 举报
回复
Private Function GetUTF8Code(ByVal sUnicode As String, Optional ByVal fUTFCode As Boolean = False) As Variant
Dim i As Long
Dim lLength As Long
Dim lBufferSize As Long
Dim lResult As Long
Dim bUTF8() As Byte

GetUTF8Code = ""
lLength = Len(sUnicode)
If lLength = 0 Then Exit Function


lBufferSize = lLength * 3 + 1
ReDim bUTF8(lBufferSize - 1)

lResult = WideCharToMultiByte(CP_UTF8, 0, StrPtr(sUnicode), lLength, bUTF8(0), lBufferSize, vbNullString, 0)

If lResult <> 0 Then
lResult = lResult - 1
ReDim Preserve bUTF8(lResult)
If fUTFCode Then
For i = LBound(bUTF8) To UBound(bUTF8)
GetUTF8Code = GetUTF8Code & Hex(bUTF8(i))
Next
Else
GetUTF8Code = bUTF8
End If
End If
End Function

Public Function UTF8_Decode(bUTF8() As Byte) As String
Dim lRet As Long
Dim lLen As Long
Dim lBufferSize As Long
Dim sBuffer As String
Dim bBuffer() As Byte

lLen = UBound(bUTF8) + 1

If lLen = 0 Then Exit Function

lBufferSize = lLen * 2

sBuffer = String$(lBufferSize, Chr(0))

lRet = MultiByteToWideChar(CP_UTF8, 0, VarPtr(bUTF8(0)), lLen, StrPtr(sBuffer), lBufferSize)

If lRet <> 0 Then
sBuffer = Left(sBuffer, lRet)
End If

UTF8_Decode = sBuffer
End Function

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧