本帖最后由 feifei20080 于 2010-04-09 13:30:21 编辑

解决方案 »

  1.   

    去掉转换试试
    或者转换为UTF8(用StrConv不行)
      

  2.   

    你好,如何转换UTF8呢?可以说一下吗,
      

  3.   

    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 Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByVal lpDefaultChar As Long, ByVal lpUsedDefaultChar As Long) As Long
    '常用的代码页:
    const cpUTF8   =65001
    const cpGB2312 =  936
    const cpGB18030=54936
    const cpUTF7   =65000
    Function MultiByteToUTF16(UTF8() As Byte, CodePage As Long) As String
        Dim bufSize As Long
        bufSize = MultiByteToWideChar(CodePage, 0&, UTF8(0), UBound(UTF8) + 1, 0, 0)
        MultiByteToUTF16 = Space(bufSize)
        MultiByteToWideChar CodePage, 0&, UTF8(0), UBound(UTF8) + 1, StrPtr(MultiByteToUTF16), bufSize
    End FunctionFunction UTF16ToMultiByte(UTF16 As String, CodePage As Long) As Byte()
        Dim bufSize As Long
        Dim arr() As Byte
        bufSize = WideCharToMultiByte(CodePage, 0&, StrPtr(UTF16), Len(UTF16), 0, 0, 0, 0)
        ReDim arr(bufSize - 1)
        WideCharToMultiByte CodePage, 0&, StrPtr(UTF16), Len(UTF16), arr(0), bufSize, 0, 0
        UTF16ToMultiByte = arr
    End FunctionPrivate Sub Command1_Click()
        MsgBox MultiByteToUTF16(UTF16ToMultiByte("ab中,c", cpUTF8), cpUTF8)
    End Sub