I need to decode the following text (just partial of it) and it consists of Chinese traditional characters. I have tried some decoding code but it doesn't work. After decoded, it turned out to be ????
PART OF THE Encoded Text:
%3Ctable%20width%3D%22100%25%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%3Ctd%3E%3Cp%20style%3D%22color%3A%23000000%3Bfont-size%3A20pt%3Btext-align%3Acenter%3Bfont-weight%3Abold%22%3E%0D%0A%09Genie%E7%93%B6%E4%B8%AD%E7%B2%BE%E9%9D%88%2010%25%E6%9D%8F%E4%BB%81%E9%85%B8%E4%BA%AE%E9%87%87%E7%85%A5%E8%86%9A%E7%B2%BE%E8%8F%AF%E6%B6%B2%20%E8%B2%B7%E4%B8%80%E9%80%81%E4%B8%80%0D%0A%3C%2Fp%3E%0D%0A%3C%2Ftd%3E%3C%2Ftr%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%3Ctd%3E%3Cp%20style%3D%22color%3A%23000000%3Bfont-size%3A12pt%3Btext-align%3Acenter%22%3E%0D%0A%09%20%0D%0A%3C%2Fp%3E%0D%0A%3C%2Ftd%3E%3C%2Ftr%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%3Ctd%3E%3Cdiv%20align%3D%22center%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fs.yimg.com%2Fwb%2Fimages%2F3C8EF489980779600D2E2A95C5BB2E0C15859F8B%22%20%2F%3E%3C%2Fdiv%3E%3C%2Ftd%3E%3C%2Ftr%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftable%3E%3Ctable%20width%3D%22100%25%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%3Ctd%3E%3Cp%20style%3D%22color%3A%23000000%3Bfont-size%3A12pt%3Btext-align%3Aleft%3Bfont-weight%3A100%22%3E%0D%0A%09%0D%0A%3C%2Fp%3E%0D%0A%3C%2Ftd
After DECODED: You can see the Chinese characters being decoded as ????
Genie???? 10???????? ????
Please help how to decode it properly.
Private Const CP_UTF8 As Long = 65001 ' UTF-8 Code Page
'Sys call to convert multiple byte chars to a char
Private Declare Function MultiByteToWideChar Lib "kernel32" ( _
ByVal CodePage As Long, _
ByVal dwFlags As Long, _
ByVal lpMultiByteStr As Long, _
ByVal cchMultiByte As Long, _
ByVal lpWideCharStr As Long, _
ByVal cchWideChar As Long) As Long
Private Function URL8Decode(ByVal URLEncoded As String) As String
On Error GoTo executeError
Dim ANSI() As Byte
Dim UTF8() As Byte
Dim I As Long
Dim B As Long
URLEncoded = Replace$(URLEncoded, "+", " ") 'Optional, plus-encoding isn't always used.
ANSI = StrConv(URLEncoded, vbFromUnicode)
ReDim UTF8(UBound(ANSI)) 'Estimate.
For I = 0 To UBound(ANSI)
If ANSI(I) = &H25 Then
UTF8(B) = FromHex(ANSI(I + 1)) * &H10 + FromHex(ANSI(I + 2)) 'Val("&H" & Mid$(URLEncoded, I + 2, 2))
I = I + 2
Else
UTF8(B) = ANSI(I)
End If
B = B + 1
Next
URL8Decode = FromUTF8(UTF8, B)
Exit Function
executeError:
LogProcess "ProductDetailFrm URL8Decode - [Err=" & Err.description & "]"
Resume 'HANG
End Function
Private Function FromHex(ByVal Char As Byte) As Byte
On Error GoTo executeError
If Char <= &H39 Then
FromHex = Char - &H30
Else
FromHex = Char - &H41 + &HA
End If
Exit Function
executeError:
LogProcess "ProductDetailFrm FromHex - [Err=" & Err.description & "]"
End Function