PHP和JAVA的XML-RPC中文问题解决办法

2016-01-29 15:03 33 1 收藏

PHP和JAVA的XML-RPC中文问题解决办法,PHP和JAVA的XML-RPC中文问题解决办法

【 tulaoshi.com - PHP 】

 

      问题描述:
      在使用PHP和JAVA操作XML-RPC的时候,如果request中包含中文字符,会被自动编码成如下样式:

欢欢 。

      环境:PHP内置XML-RPC的API,Apache的XML-RPC的JAVA API

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)

      PHP下的解决方法:
      起初以为是中文字符的编码问题,所以我就尝试用各种编码方式来编码中文字符,然后交给string xmlrpc_encode_request ( string method, mixed params)函数来生成XML格式的请求,可是依然如故。百思不得其界。便操其Google 一通神搜,也没找到解决办法,后来我找到了http://xmlrpc-epi.sourceforge.net/这个网站。才知道,原来PHP文档里给的xmlrpc_encode_request ( string method, mixed params)函数少了一个可选参数!!!!正确的应该是这样的:string xmlrpc_encode_request(string method, mixed params [, array output_options])!!output_options的结构如下:

$output_options = array(
                       "output_type" = "xml",
                       "verbosity" = "pretty",
                       "escaping" = array("markup", "non-ascii", "non-print"),
                       "version" = "xmlrpc",
                       "encoding" = "utf-8"
                      );
or

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)

$output_options = array("output_type" = "php");

原文说明如下:

output_type: return data as either php native data types or xml encoded. ifphp is used, then the other values are ignored. default = xml

verbosity: determine compactness of generated xml. options are no_white_space, newlines_only, and pretty. default = pretty

escaping: determine how/whether to escape certain characters. 1 or more values are allowed. If multiple, they need to be specified as a sub-array. options are: cdata, non-ascii, non-print, and markup.default = non-ascii, non-print, markup

version: version of xml vocabulary to use. currently, three are supported: xmlrpc, soap 1.1, and simple. The keyword auto is also recognized to mean respond in whichever version the request came in. default = auto (when applicable), xmlrpc

encoding: the encoding that the data is in. Since PHP defaults to iso-8859-1 you will usually want to use that. Change it if you know what you are doing. default=iso-8859-1

经过测试关键是在"escaping" = array("markup")这个值上,将第三个参数传入如下值就可以解决问题了:

$output_options = array(
                       "output_type" = "xml",
                       "verbosity" = "pretty",
                       "escaping" = array("markup"),
                       "version" = "xmlrpc",
                       "encoding" = "utf-8"
                      );


      Apache JAVA XML-

来源:http://www.tulaoshi.com/n/20160129/1495120.html

延伸阅读
标签: 美容
女性的眼角问题很复杂!不仅是皱纹、黑眼圈的苦恼,根据韩国美容网络的调查,41%的女性同时受皱纹和黑眼圈困扰,4名中有1名同时受皱纹和干燥问题困扰。多重问题一起发生,脆弱的眼周皮肤,就特别需要眼霜的呵护了。 1. 干燥——同时解决干燥和皱纹的眼霜 认为眼部干燥的人,超过一半也受皱纹问题困扰。干燥跟皱纹,就像硬币...
《模拟人生3》游戏容易遇到的问题解决办法 由于《模拟人生3》的延展性很强,游戏内容丰富,除了EA一直不断更新补丁升级和资料片扩展,玩家们也是制作了各式的mod来进行更多的游戏体验,下文就是将游戏中可能常见的问题进行了总结。 1. 错误12 造成原因:内存太小。 解决方法: (1)少旅游:如果装了世界冒险 又不想把它给删掉 ...
标签: 电脑入门
    尝试按以下步骤解决:     确认您是否有在空间“个人档——权限管理——访问权限设置”中将“将QQ空间日志更新显示在QQ上”前面的打上勾?如果您没打勾,那么日志是不会更新显示在QQ上的     若打上勾后仍没有更新显示,有可能是网络数据不同步引起的。建议您再上传一篇日志,然后点击空间...
标签: Web开发
目录 介绍 针对浏览器的选择器 让IE6支持PNG透明 移除超链接的虚线 给行内元素定义宽度 让固定宽度的页面居中 图片替换技术 最小宽度 隐藏水平滚动条 一. 介绍 这篇文章包括了8个非常有用的解决办法, 在进行css设计遇到问题时你就会用到它们. 二. 针对浏览器的选择器 这些选择器在你需要针对某款浏览器进行css设计时将非常有用. ...
《巫师2》游戏时频繁跳出问题解决办法 首先,跳出目前已知情况分两种(自己系统必备游戏软件没装全的不算): 第一种: 配置较高玩家,机器可承受起高效果但不时会跳出。若调到较低效果则没有此问题。 这种情况只会在32位系统下出现,因为巫师2最高效果处理时单进程内存占有率会超2GB,之所以不时跳出是因为32位系统单进程内存占...

经验教程

52

收藏

83
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部