人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

PHP與JAVA的XML-RPC中文問(wèn)題處理辦法

PHP與JAVA的XML-RPC中文問(wèn)題處理辦法

更新時(shí)間:2022-08-15 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

      問(wèn)題描述:
      在使用PHP和JAVA操作XML-RPC的時(shí)候,如果request中包含中文字符,會(huì)被自動(dòng)編碼成如下樣式:

欢欢 。

      環(huán)境:PHP內(nèi)置XML-RPC的API,Apache的XML-RPC的JAVA API

      PHP下的解決方法:
      起初以為是中文字符的編碼問(wèn)題,所以我就嘗試用各種編碼方式來(lái)編碼中文字符,然后交給string xmlrpc_encode_request ( string method, mixed params)函數(shù)來(lái)生成XML格式的請(qǐng)求,可是依然如故。百思不得其界。便操其Google 一通神搜,也沒(méi)找到解決辦法,后來(lái)我找到了http://xmlrpc-epi.sourceforge.net/這個(gè)網(wǎng)站。才知道,原來(lái)PHP文檔里給的xmlrpc_encode_request ( string method, mixed params)函數(shù)少了一個(gè)可選參數(shù)!!!!正確的應(yīng)該是這樣的:string xmlrpc_encode_request(string method, mixed params [, array output_options])!!output_options的結(jié)構(gòu)如下:

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

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

原文說(shuō)明如下:

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

經(jīng)過(guò)測(cè)試關(guān)鍵是在"escaping" => array("markup")這個(gè)值上,將第三個(gè)參數(shù)傳入如下值就可以解決問(wèn)題了:

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


      Apache JAVA XML-RPC的解決方法

     找遍了Apache提供的API好像也沒(méi)有找到類(lèi)似PHP那樣的第三個(gè)參數(shù),實(shí)在無(wú)奈發(fā)現(xiàn)他提供了一個(gè)Base64的類(lèi),我便只好將所有的中文字符在Client端用 Base64編碼,然后request到Server上,然后在Server端在用Base64解碼,哈哈~~~問(wèn)題也能解決!不過(guò)不知道還有沒(méi)別的更好的辦法了?

     誰(shuí)有更好的解決方法請(qǐng)和我聯(lián)系:
     QQ:3470431
     MSN:imdishui@hotmail.com
     Email:wangsg@asiainfo.com

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類(lèi)教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 丰城市| 津南区| 中牟县| 彩票| 资中县| 如东县| 墨竹工卡县| 荃湾区| 巴青县| 梅州市| 崇州市| 苏尼特左旗| 舟山市| 甘泉县| 莱州市| 普安县| 合山市| 文水县| 翁源县| 苗栗县| 平湖市| 临潭县| 东海县| 光山县| 寿宁县| 扎囊县| 托里县| 青浦区| 泗洪县| 麻阳| 祁连县| 昌黎县| 象山县| 喀喇沁旗| 东海县| 太白县| 南阳市| 哈尔滨市| 新化县| 绩溪县| 洛川县|