| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2957 人关注过本帖
标题:转换为文字乱码问题
只看楼主 加入收藏
glenglenglen
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-8-4
结帖率:0
收藏
已结贴  问题点数:20 回复次数:8 
转换为文字乱码问题
我使用UserControl_AsyncRead 从网上下载文件,想转换成为文本,但是全部是乱码,请问是什么原因?
Private Sub UserControl_AsyncReadComplete(AsyncProp As AsyncProperty)
     On Error Resume Next
     Dim f() As Byte, fn As Long
     If AsyncProp.BytesMax <> 0 Then
        f = AsyncProp.Value
        debug.print strconv(asyncprop.value,vbUnicode )
     endif
end sub
英文正确,中文就是乱码,什么原因?有什么解决办法?我把vbUnicode改为vbFromUnicode也试过、把LocaleID改为&H804也试过,好象都没有什么用,都是乱码。请各位指教了下。

[ 本帖最后由 glenglenglen 于 2010-8-4 20:26 编辑 ]
搜索更多相关主题的帖子: 乱码 文字 
2010-08-04 20:25
jiashie
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:237
专家分:999
注 册:2009-4-30
收藏
得分:5 
网页编码的问题?纯猜测。
2010-08-04 20:41
glenglenglen
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-8-4
收藏
得分:0 
应该不是。网页编码没有问题,我直接下载为文件用编辑器打开能正常显示的。
2010-08-04 22:48
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:5 
'------------------------------------------------------------
程序代码:
' Language IDs, clipped from a random header file whose name I cannot remeber,
' or derived. Note that you can build these yourself any time you like using the
' constants and procs in this module.
'------------------------------------------------------------
Global Const LidUnknown = &HFFFF
Global Const LidNone = &H0
Global Const LidNoProof = &H400
Global Const LidArabic = &H401
Global Const LidDanish = &H406
Global Const LidGerman = &H407
Global Const LidSwissGerman = &H807
Global Const LidAmerican = &H409
Global Const LidBritish = &H809
Global Const LidAustralian = &HC09
Global Const LidSpanish = &H40A
Global Const LidFinnish = &H40B
Global Const LidFrench = &H40C
Global Const LidFrenchCanadian = &HC0C
Global Const LidHebrew = &H40D
Global Const LidItalian = &H410
Global Const LidDutch = &H413
Global Const LidDutchPreferred = &H13
Global Const LidDutchBelgian = &H813
Global Const LidNorskBokmal = &H414
Global Const LidNorskNynorsk = &H814
Global Const LidPortBrazil = &H416
Global Const LidPortIberian = &H816
Global Const LidSwedish = &H41D
Global Const LidCatalan = &H403
Global Const LidRussian = &H419
Global Const LidCzech = &H405
Global Const LidHungarian = &H40E
Global Const LidPolish = &H415
Global Const LidJapanese = &H411
Global Const LidKorean = &H412
Global Const LidTaiwan = &H404
Global Const LidChina = &H804
Global Const LidTurkish = &H41F
Global Const LidGreek = &H408
Global Const LidBasque = &H42D
Global Const LidSlovenian = &H424
Global Const LidMalaysian = &H43E
Global Const LidAfrikaans = &H436
Global Const LidBulgarian = &H402
Global Const LidCroatian = &H41A
Global Const LidEstonian = &H425
Global Const LidLatvian = &H426
Global Const LidLithuanian = &H427
Global Const LidMacedonian = &H42F
Global Const LidRomanian = &H418
Global Const LidSerbianCyrillic = &HC1A
Global Const LidSerbianLatin = &H81A
Global Const LidByelorussian = &H423
Global Const LidSlovak = &H41B
Global Const LidUkrainian = &H422
Global Const LidIcelandic = &H40F
Global Const LidVietnamese = &H42A   '  (LANGVIETNAMESE, SUBLANGDEFAULT)
Global Const LidThai = &H41E
'strconv LocaleID

[ 本帖最后由 bczgvip 于 2010-8-5 05:14 编辑 ]
2010-08-05 05:13
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:5 
回复 楼主 glenglenglen
我觉得还是编码问题,你可以将Down下的文件内容Copy到记事本中,再另存为...(注意选择不同的编码试,也可以用编码转换工具来处理)如果成功,就找到了编码方式.另外注意一下,设置字体,有的字体也可能将汉字显示为乱码

★★★★★为人民服务★★★★★
2010-08-05 06:27
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4943
专家分:30067
注 册:2008-10-15
收藏
得分:5 
是不是网上你下载下来的数据流是 U7 的编码???

如果是U7的编码,需要你自己解码到 Unicode 去.

你看一下 HTTP 头.


授人于鱼,不如授人于渔
早已停用QQ了
2010-08-05 11:34
glenglenglen
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-8-4
收藏
得分:0 
如果是U7的如何转为Unicode啊?
我把下载的网页源文件打开来看了,但是里面没有编码的说明。
2010-08-05 12:14
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:0 
dim sTmp$,f() byte
f = ....value
sTmp$ = cstr(f) 'utf-16le
2010-08-05 13:04
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4943
专家分:30067
注 册:2008-10-15
收藏
得分:0 
你自己检查吧。

UserControl_AsyncRead 下下来的数据是什么格式的?
流? 直接生成文件? 还是什么。

HTTP ,在传输过程中有  ANSI 编码 和 Unicode-7 编码 两种方式传输。
在 HTTP控制头中反应出来的,只存在传输过程中,如果是保存的文件是不存在控制头的。

然后, HTTP 文档格式的编码 也有 N 种编码,这些编码是 在 HTTP 文件 头中反应。

估计你遇到的是传输过程的编码 ,自己到网上去找解码吧,我以前在这个论坛也发过一个。
今天在WIN7里,没办法看源代码了。


授人于鱼,不如授人于渔
早已停用QQ了
2010-08-05 21:24
快速回复:转换为文字乱码问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013535 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved