vb 读取html 乱码,如何解决 VB 获取UTF8 显示乱码的問題

这篇博客介绍了如何在VB中处理UTF8编码的HTML内容出现乱码的问题。通过提供一个`UTF8_Decode`函数,将UTF8字符串转换为Unicode,从而正确显示内容。此外,建议在转换前先检查响应内容是否包含`charset=utf-8`来确认其编码类型。
摘要由CSDN通过智能技术生成

'-----------UTF8转Unicode编码

Private Declare Function MultiByteToWideChar Lib kernel32 (ByVal CodePage As Long, ByVal dwFlags As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long

Private Const CP_UTF8 = 65001

'Purpose:Convert Utf8 to Unicode

Public Function UTF8_Decode(ByVal sUTF8 As String) As String

Dim lngUtf8Size As Long

Dim strBuffer As String

Dim lngBufferSize As Long

Dim lngResult As Long

Dim bytUtf8() As Byte

Dim n As Long

If LenB(sUTF8) = 0 Then Exit Function

On Error GoTo EndFunction

bytUtf8 = StrConv(sUTF8, vbFromUnicode)

lngUtf8Size = UBound(bytUtf8) + 1

On Error GoTo 0

lngBufferSize = lngUtf8Size * 2

strBuffer = String$(lngBufferSize, vbNullChar)

'Translate using cod

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值