解决多国语言乱码的编码问题

 
解决多国语言乱码的编码问题 
 忙呼了几天,终于解决多国语言乱码的编码问题
 open 方法打开文本文件经常遇到乱码问题,今天俺尝试打开一法文文本 和 英文文本,notepad 中出现问题,后来在 CSDN 重赏,竟然无人能解决.,查了两天,也无结果.无意中在 microsoft msdn 新闻组中发现 adodb.stream 在上传下载中可以进行 charset , 正合吾意, 马上试试,果然成功.
 不要用 StrConv(InputB$(LOF(hFile), #hFile), vbUnicode) 这种方式来解决问题,因为你打开的文本编码是不确定的,另外还存在大容量文本的问题.
 现归纳成如下函数,该函数能解决由于 utf-8,unicode,ansi,..... 等任何已知编码出现的乱码问题.
 
'http://spaces.msn.com/members/standardtrip
Function UTFDecode(filePathName As String, writeCode As String, readCode As String) As String
    Dim adoSd As ADODB.Stream
    Set adoSd = New ADODB.Stream
'    adoSd.Mode = adModeRecursive
    adoSd.Type = adTypeText
    adoSd.Open
    adoSd.Charset = writeCode 'UTF-8
     adoSd.LoadFromFile filePathName
    adoSd.Position = 0
    adoSd.Charset = readCode 'gb2312
    UTFDecode = adoSd.ReadText
    adoSd.Close
    Set adoSd = Nothing
End Function
 

你可能感兴趣的:(解决多国语言乱码的编码问题)