qq_29304185
2015-06-25 07:39
采纳率: 100%
浏览 3.8k
已采纳

pb8使用posturl函数问题

pb8使用posturl函数问题,返回值为message的乱码,如何解决啊,愁死了,在线等,多谢了

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • WorldMobile 2015-06-25 08:00
    已采纳

    用adosteam
    http://bbs.csdn.net/topics/390821971

    
      integer  li_rtn  
      OLEObject  ole_ADOStream  
      ole_ADOStream  =  CREATE  OLEObject  
      li_rtn  =  ole_ADOStream.ConnectToNewObject("ADODB.Stream")  
      ole_ADOStream.Type  =  1  //二进制数据Binary  
      ole_ADOStream.Mode  =3  //具有读/写权限  
      ole_ADOStream.Open()  
      ole_ADOStream.LoadFromFile("c:\1.txt")  
      ole_ADOStream.Position  =  0  //Position为0才能设置Charset  
      ole_ADOStream.Type  =  2  //文本数据  
      ole_ADOStream.Charset  =  "UTF-8"  
      ole_ADOStream.SaveToFile("c:\2.txt",2)  
      ole_ADOStream.Close()  
      destroy  ole_ADOStream 
    
    点赞 打赏 评论
  • WorldMobile 2015-06-25 08:00

    如果返回的utf-8格式的,需要转换格式,可以通过adostream进行转换,以下为posturl的用法

     Blob lblb_args
    
     String ls_headers
    
     String ls_url
    
     String ls_args
    
     long ll_length
    
     integer li_rc
    
    
    
     li_rc = GetContextService( "Internet", iinet_base )
    
     IF li_rc = 1 THEN
    
        ir = CREATE n_ir
    
        ls_url = "http://localhost/Site/testurl.stm?"
    
        ls_args = "user=MyName&pwd=MyPasswd"
    
        lblb_args = Blob( ls_args )
    
        ll_length = Len( lblb_args )
    
        ls_header = "Content-Type: " + &
    
           "application/x-www-form-urlencoded~n" + &
    
           "Content-Length: " + String( ll_length ) + "~n~n"
    
        li_rc = iinet_base.PostURL( ls_url, lblb_args, &
    
           ls_header, ir )
    
     END IF
    
    点赞 打赏 评论

相关推荐 更多相似问题