当前位置: 代码迷 >> PB >> posturl 的参数,该怎么处理
  详细解决方案

posturl 的参数,该怎么处理

热度:268   发布时间:2016-04-29 05:31:11.0
posturl 的参数
我用posturl向服务器提交数据,反回值中有乱码,是不是我的参数不对,用geturl提交时反回值是正确的,但传到服务器里utf8编码的汉字都是乱码,难到pb上传数据时会对数据重新编码吗?我想再用posturl试试
我的代码如下,
//blob lblb_args
//long ll_length
//string ls_headers
//
//lblb_args   =   blob( "serviceName=insert&objectApiName=sgdbase&data="+ls_data+"&binding="+ls_binding)
//messagebox('',string(lblb_args))
//ll_length   =   Len(lblb_args) 
//ls_headers   =   "Content-Length:" + String(ll_length)  
//li_ret =ln_inet.posturl("http://app3.cloudcc.com/distributor.action?",lblb_args,ls_headers,ln_iinster)
------解决方案--------------------
PB10 以后,blob函数有两个参数 第二个可以写成encodingutf8!
------解决方案--------------------
楼主的方法可以的(改了一下下),写入文件后再读取到blob里应该就是utf8了
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.WriteText('中国')
  ole_ADOStream.SaveToFile("c:\2.txt",2)  
  ole_ADOStream.Close()  
  destroy  ole_ADOStream 

------解决方案--------------------
楼主-->版主  (改正一下)
引用:
楼主的方法可以的(改了一下下),写入文件后再读取到blob里应该就是utf8了
integer  li_rtn  
  destroy  ole_ADOStream