PHP - 传入WebService服务端带中文字符的序列化字串不能反序列化的解决方法
因工作需要,用了web服务,通过远程调用的方式来检索雅虎拍卖数据。前几天遇到一个问题,现在记录一下
客户端:
$res = $this->client->call('Get_YahooData',array(serialize($params),$version,$flag));
//some code
$res = unserialize($res);
服务端
$params = unserialize($params); //some code return serialize($result);
后发现如果$params数组元素包含中文(日文)的话,传到服务端的序列化字串的中文字符变成了乱码,无法进行反序列化。百度一下,发现了
http://www.discuz.net/thread-1489256-1-1.html这个帖子,加上base64_encode输出就OK了。
客户端代码改成:
$res = $this->client->call('Get_YahooData',array(base64_encode(serialize($params)),$version,$flag));
//some code
$res = unserialize(base64_decode($res));
本地将中文字符串或者带中文字符元素的数组序列化,然后反序列化,不会出现乱码。
关于base64_encode和base64_decode介绍见:http://www.php.net/base64_encode#104801
PHP - 传入WebService服务端带中文字符的序列化字串不能反序列化的解决方法的更多相关文章
- Linux下多进程服务端客户端模型二(粘包问题与一种解决方法)
一.Linux发送网络消息的过程 (1) 应用程序调用write()将消息发送到内核中 ( 2)内核中的缓存达到了固定长度数据后,一般是SO_SNDBUF,将发送到TCP协议层 (3)IP层从TCP层 ...
- JAVA WEBSERVICE服务端&客户端的配置及调用(基于JDK)
前言:我之前是从事C#开发的,因公司项目目前转战JAVA&ANDROID开发,由于对JAVA的各种不了解,遇到的也是重重困难.目前在做WEBSERVICE提供数据支持,看了网上相关大片的资料也 ...
- eclipse使用CXF3.1.*创建webservice服务端客户端以及客户端手机APP(一)
eclipse使用CXF3.1.*创建webservice服务端客户端以及客户端手机APP(一) 本篇博客主要包含五个内容: 1.CXF换将搭建以及eclipse配置CXF. 2.eclipse创建w ...
- 根据wsdl反向生成webservice服务端(3种方法)
前言 正常情况下,都是我们项目组创建一个webservice服务端,客户通过我们提供的wsdl地址生成客户端并进行访问:但是最近和一个国企做接口对接,他们却只提供给我们wsdl,需要我们根据wsdl生 ...
- myeclipse-建立webservice服务端和客户端
一.建立webservice服务端: 1.新建一个web service project,名称为webservice_server截图如下,点击finish. 2.选择工程,点击右键,选择new-&g ...
- eclipse使用CXF3.1.*创建webservice服务端客户端以及客户端手机APP(二)
eclipse使用CXF3.1.*创建webservice服务端客户端以及客户端手机APP(二) 接上篇博客,本篇博客主要包含两个内容: 4.使用Android studio创建webservice客 ...
- MyEclipse创建WebService服务端和客户端
1.新建立一个javaWeb项目,一个java类,如图: 2.接下来我们就要将项目中的TestService的这个类生成WebService服务端,选择new Web Service,如图: Next ...
- PHP写webservice服务端
1) WebService技术介绍 WebService是一种跨编程语言和跨操作系统平台的远程调用技术.仅仅有通过Web Service,client和server才可以自由的用HTTP进行通信.不论 ...
- 数据挖掘:python数据清洗cvs里面带中文字符
数据清洗,使用python数据清洗cvs里面带中文字符,意图是用字典对应中文字符,即key值是中文字符,value值是index,自增即可:利用字典数据结构没有重复key值的特性,把中文字符映射到了数 ...
随机推荐
- UML类图中类与类的四种关系图解
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- autocommit=0
mysql; Query OK, rows affected (0.00 sec) mysql> create table test( a int); Query OK, rows affect ...
- Using Sessions and Session Persistence---reference
Using Sessions and Session Persistence The following sections describe how to set up and use session ...
- Java基础知识强化之IO流笔记61:输入流 和 输出流 使用总结
1. 结构: 字节流:InputStream,OutputStream 字符流:Reader,Writer 2. 字符流 和 字节流: (1)Reader:读取字符流的抽象类 BufferedRead ...
- Word转换为图片PDF
1. Word转换为PDF,程序很多,但转换后的PDF,还可以复制,虽可以加密禁止复制,但市场上太多的PDF,还可以把PDF转换Word等其他格式,很容易被别人利用和剽窃,即便是PDF加 ...
- Calendar 类的应用
上一篇 说的 Date 类 最主要的作用就是获得当前时间,同事这个类里面也具有设置时间以及一些其他的功能,但是由于本身设计的问题,这些方法却遭到众多的批评,不推荐使用,要推荐使用Calendar 类进 ...
- PHP中的ob_start() 的使用
1.在PHP编程中, 我们经常会遇到一些直接产生输出的函数, 如passthru(),readfile(), var_dump() 等. 但有时我们想把这些函数的输出导入到文件中,或者先经过处理再输出 ...
- JQ动画事件
1.会飞的li html: <ul id="ulL"> <li>中国</li> <li>美国</li> <li&g ...
- eclipse和android studio导入工程的错误
eclipse中导入工程,需要注意导入的工程是什么,android 工程和java工程是有区别的.如果导入错误了,调起来也比较麻烦.因为入口错了呀. 特别在android studio工程,从其它人的 ...
- cmd命令积累
dir:展示所有目录 cd fileName:进入下一个目录 cd .. :返回上一层目录 cd\:返回根目录