当前位置: 代码迷 >> PB >> 字符串处理替uft8格式
  详细解决方案

字符串处理替uft8格式

热度:172   发布时间:2016-04-29 05:28:35.0
字符串处理为uft8格式
pb9 中通过posturl上传数据 但网站只支持encodinguft8格式 pb9中没有这个函数 求转uft8的函数 或 dll
------解决方案--------------------
引用:
pb9 中通过posturl上传数据 但网站只支持encodinguft8格式 pb9中没有这个函数 求转uft8的函数 或 dll


可以在posturl里直接使用utf-8,如:

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;charset=utf-8~n" + &

      "Content-Length: " + String( ll_length ) + "~n~n"

   li_rc = iinet.PostURL( ls_url, lblb_args, &

      ls_header, ir )

END IF
------解决方案--------------------
如果需要把字符串转为utf8格式,可以参考以下代码


用adosteam
  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 

以上代码可把任何格式的文件转成utf-8,请参考