文件内容为:
s英国as可是用VB程序读出来时却是乱码!怎么上传附件啊?想上传那个文本文件!

解决方案 »

  1.   

    程序使用VB6.0编写,操作系统为WindowsXP
      

  2.   

    估计时UTF-8格式,用filesystem.opentext读取
    可是我用一些论坛给出的读取UTF-8文件的代码写,也不能解决怎么上传附件啊?没有附件空谈文件解决不了实际问题!
      

  3.   

    你读时候用strconv转了吗???
      

  4.   

    附件在这里:
    解压之后是一个文本文件,用记事本打开汉字正常,用VB6.0写的程序打开就乱码!晕啊!http://www.flashsun.com/club/showthread.php?p=433703#post433703
    附件贴http://www.flashsun.com/club/attachment.php?attachmentid=14936
    附件
      

  5.   

    fankun(我是上帝的玩偶。)
    你读时候用strconv转了吗???转过了,没解决问题!
      

  6.   

    还要注册 不玩了你换其他语句读取文件TXT直接打开正常显示的文件其他语句可以读出来我随便写的Private Sub Command1_Click()
    Dim b As String * 4Open "e:\t.txt" For Binary As #1
        Get #1, , b
        Debug.Print b
    Close #1
    End Subt.txt   里面内容为  
    a海鸥b
      

  7.   

    你真是糊涂,把附件放在要注册的网站上。没有人为了你去花时间去注册的,除非你付钱(100RMB)!
    Good luck!
      

  8.   

    你那个文件是UTF-8的嘛一般新建的TXT都是Unicode的.所以才会是12个字节.要读的方法多了去了~~~~~连我所知道的就有两种.这里给你一种简单的:Public Function ReadFile(ByVal FileName As String) As String
        Dim objStream As Object
        Set objStream = CreateObject("ADODB.Stream")
        
        With objStream
            .Type = 2
            .Mode = 3
            .Open
            .Charset = "UTF-8"      '不同编码时自己换
            .LoadFromFile FileName
             ReadFile = .ReadText
            .Close
        End With
    End Function直接调用ReadFile("tmp1.txt"),返回值就是它的内容了.另外,很不喜欢你那个标题.高手就非要有义务来为你解决问题?真正的高手一见你这标题,都懒得进来了.要我也是高手,同样不会进!不过用这类标题的问题一般都不会太难~~呵呵
      

  9.   

    'Purpose:Convert   Utf8   to   Unicode   
      Public   Function   UTF8_Decode(ByVal   sUTF8   As   String)   As   String   
        
            Dim   lngUtf8Size             As   Long   
            Dim   strBuffer                 As   String   
            Dim   lngBufferSize         As   Long   
            Dim   lngResult                 As   Long   
            Dim   bytUtf8()                 As   Byte   
            Dim   n                                 As   Long   
        
            If   LenB(sUTF8)   =   0   Then   Exit   Function   
        
            If   m_bIsNt   Then   
                  On   Error   GoTo   EndFunction   
                  bytUtf8   =   StrConv(sUTF8,   vbFromUnicode)   
                  lngUtf8Size   =   UBound(bytUtf8)   +   1   
                  On   Error   GoTo   0   
                  'Set   buffer   for   longest   possible   string   i.e.   each   byte   is   
                  'ANSI,   thus   1   unicode(2   bytes)for   every   utf-8   character.   
                  lngBufferSize   =   lngUtf8Size   *   2   
                  strBuffer   =   String$(lngBufferSize,   vbNullChar)   
                  'Translate   using   code   page   65001(UTF-8)   
                  lngResult   =   MultiByteToWideChar(CP_UTF8,   0,   bytUtf8(0),   _   
                        lngUtf8Size,   StrPtr(strBuffer),   lngBufferSize)   
                  'Trim   result   to   actual   length   
                  If   lngResult   Then   
                        UTF8_Decode   =   Left$(strBuffer,   lngResult)   
                  End   If   
            End   If   
      End   sub学习中回答问题...这个讨论今天有点郁闷...
      

  10.   

    你的文本文件是按UTF-8格式保存的。可用WINXP记事本打开后另存为ANSI格式保存,再用VB打开就不是乱码了。
      

  11.   

    那个myjian,虽然你的言语过激了点,不过你为我解决了个大问题,还是要谢谢你先。其实,不管是谁,只要能解决问题、或者能够给出一些有参考的详细答案,在我眼里都是高手,哈哈!准备采纳ADODB.Stream方法了,不过还有一个小问题没有解决,这个ADODB.Stream有没有一行一行读取的功能啊?就像system那样。如果没有的话,就只能使用字符串功能进行分割了,用这个字符串分割方法如果文件大的话,就会比较慢,很麻烦。高手能帮帮忙吗?急!!!
      

  12.   

    这个ADODB.Stream有没有一行一行读取的功能啊?就像system那样。如果没有的话,就只能使用字符串功能进行分割了,用这个字符串分割方法如果文件大的话,就会比较慢//你是想在给出行号的前提下,读取某一行内容?
      

  13.   

    我也想知道,比如原来是很多行的,现在ReadFile()函数读出来的结果是一个STRING,如果按行分开?循环读取每一行,并判断行的内容什么的
      

  14.   

    我是想象FileSystemObject那样,一行一行读出来,然后放到ListBox里面,然后再做后续分析处理的.
    ADODB.Stream有方法不?
      

  15.   

    Public Function ReadFile(ByVal FileName As String) As String
        Dim objStream As Object
        Set objStream = CreateObject("ADODB.Stream")
        
        With objStream
            .Type = 2
            .Mode = 3
            .Open
            .Charset = "UTF-8"      '不同编码时自己换
            .LoadFromFile FileName
             ReadFile = .ReadText
            .Close
        End With
    End Function直接调用ReadFile("tmp1.txt"),返回值就是它的内容了.这个方法不错!
      

  16.   

    使用这个方法。到了LoadFromFile FileName 这步时就无法执行了 爆出 3002错误。
     其中FileName 是这样的 c:\wangwang.txt