"鏉庝附"与"李丽"(UTF-8相关)

xiangchengboy 2012-05-02 01:59:26
保存字段“李丽”,在数据库查看结果为“鏉庝附”,可能是编码格式引起的,在百度中搜索“鏉庝附”给出的结果是“李丽”,请问在VB中怎么将“鏉庝附”转化为“李丽”,谢谢!
...全文
139 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2012-05-03
  • 打赏
  • 举报
回复
李丽 ——(UTF-8 编码)——> E6-9D-8E-E4-D8-BD ————(当作 GB-2312 解码)——> 鏉庝附
你需要:鏉庝附 ————(GB-2312 编码)——> E6-9D-8E-E4-D8-BD ——(UTF-8 解码)——> 李丽

'复制 http://topic.csdn.net/u/20090925/20/11a38dbe-b3be-4323-9635-147e91356379.html 中的 Function StrFromUtf8()
'引用 Microsoft ActiveX Data Objects 2.5 Library

Sub Main()
Dim a() As Byte
a = StrConv("鏉庝附", vbFromUnicode)
Debug.Print StrFromUtf8(a)
End Sub


布衣散人 2012-05-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
字符编码的原因。
[/Quote]

真有这事
网络菜鸟00 2012-05-03
  • 打赏
  • 举报
回复
Option Explicit

Private Sub Form_Load()
Dim a() As Byte
a = StrConv("鏉庝附", vbFromUnicode)
Debug.Print StrFromUtf8(a)
End Sub

Function StrFromUtf8(Utf8() As Byte) As String
Dim aBOM(2) As Byte
aBOM(0) = &HEF
aBOM(1) = &HBB
aBOM(2) = &HBF
Dim oStream As Object
Set oStream = CreateObject("Adodb.Stream")
oStream.Open
oStream.Type = adTypeBinary
oStream.Write aBOM
oStream.Write Utf8
oStream.Position = 0
oStream.Type = adTypeText
oStream.Charset = "UTF-8"
StrFromUtf8 = oStream.ReadText()
oStream.Close
End Function

高手就会省略下……我来补充全。
贝隆 2012-05-02
  • 打赏
  • 举报
回复
字符编码的原因。
布衣散人 2012-05-02
  • 打赏
  • 举报
回复
可能是编码格式引起的

挺能想象
加个关联表来做

7,763

社区成员

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

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