我用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
------解决方案--------------------
楼主-->版主 (改正一下)