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

 
解决多国语言乱码的编码问题 
 忙呼了几天,终于解决多国语言乱码的编码问题
 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
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值