когда пишу на английском сообщения отображаются отлчиноа когда на русском пишу привет приходит вот такое сообщение ?@825B Думаю ошибка где то тут но не пойму где
- Код: Выделить всё
Private Function Utf82Ascii(ByVal strM As String) As String
Dim lngMSize As Long, lngWSize As Long
Dim strWide As String, bytUtf8() As Byte
Dim lngRes As Long
If LenB(strM) = 0 Then Exit Function
bytUtf8 = StrConv(strM, vbFromUnicode)
lngMSize = UBound(bytUtf8) + 1
lngWSize = lngMSize * 2
strWide = String$(lngWSize, vbNullChar)
lngRes = MultiByteToWideChar(CP_UTF8, 0, bytUtf8(0), lngMSize, StrPtr(strWide), lngWSize)
Utf82Ascii = Left$(strWide, lngRes)
End Function
Private Function ascii2utf8(data As String) As String
Dim i, j As Byte
Dim tmp As String
For i = 1 To Len(data)
j = GetByte(data, i)
If j > 191 And j <= 255 Then
tmp = 53200 + j
If tmp > 53439 Then tmp = 192 + tmp
tmp = Word2Str(tmp)
ascii2utf8 = ascii2utf8 & tmp
Else
ascii2utf8 = ascii2utf8 & Chr(j)
End If
Next i
End Function
Private Function dword2str(data As Long) As String
Dim i As Byte
dword2str = hex2str(Hex(data))
For i = 1 To 4
If Len(dword2str) < 4 Then dword2str = Chr$(0) & dword2str
Next i
End Function
If Len(dword2str) < 4 Then dword2str = Chr$(0) & dword2str
Next i
End Function
[Viper] :: Пользуйся тэгом CODE!