最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP XML error parsing SOAP payload on line 1

 更新時間:2010年06月17日 09:28:55   作者:  
PHP中GBK頁面調用WebService的編碼問題:XML error parsing SOAP payload on line 1
WebService,想必大家都比較熟悉,是由“服務提供方”向“服務調用方”提供服務的一種方式。里面有幾項關鍵的技術:

XML:描述數據的標準方法
SOAP:簡單對象訪問協議,用于信息交換
WSDL:Web服務描述語言
UDDI:通用描述、發(fā)現與集成,它是一種獨立于平臺的,基于XML語言的用于在互聯網上描述商務的協議。

  SOAP默認傳輸的都是UTF-8的編碼,這也決定了默認情況下WebService用的也是UTF-8編碼。

  現在維護的那個項目是一個PHP項目,編碼用的全是GBK,在調用自身提供的WebService方法時,就會遇到編碼問題了。PHP頁面調用WebService,而這個WebService又調用的是另一個調用COM組件的PHP類。大概場景就是這樣。
復制代碼 代碼如下:

PHP頁面(GBK) -> WebService(UTF-8) -> PHP類(GBK)

  在未遇到問題之前,一切都是風平浪靜的,就這樣過了很多年。有一天,公司收購了其它公司,為了整合服務,用戶信息也整合到一起了,原公司所有用戶的帳戶都是由英文字符加數字組成的,而收購的這個公司沒有做這樣的限定,帳戶有漢字的情況。整合之后,問題出現了,“error in msg parsing: XML error parsing SOAP payload on line 1: Invalid character [detail]”!

  PHP剛接觸不久,不是甚熟,而且NetBeans的調試灰常不好整。所以就打開VS,引用WebService,開始測試。返回的結果,找不到用戶,而且是亂碼,OK,看了一下之后,由于WebService的UTF-8編碼傳給PHP類時,編碼不一致所導致!轉換為GBK再傳過去,收到數據后,找到用戶,但還是亂碼。將返回過來的數據再次轉換為UTF-8之后,一切OK!VS下測試一切正常!上測試機!開始測試!打開之后,亂碼!仍然是“error in msg parsing: XML error parsing SOAP payload on line 1: Invalid character [detail]”囧!

  靜下心來,繼續(xù)分析!應該是PHP頁面調用WebService時所導致!VS下面的那個測試頁面是UTF-8的,他們之間沒有問題,但PHP的這個頁面是GBK的。再次修改后,一切又恢復平靜了。
復制代碼 代碼如下:

調用:PHP頁面,參數轉換為UTF-8 -> WebService,轉換為GBK后 -> PHP類
返回:PHP類 -> WebService,收到后轉化為UTF-8 -> PHP頁面,轉換為GBK

相關文章

  • php XMLWriter類的簡單示例代碼(RSS輸出)

    php XMLWriter類的簡單示例代碼(RSS輸出)

    這是一段寫博客RSS的代碼,需要的朋友可以參考下。
    2011-09-09
  • PHP屏蔽過濾指定關鍵字的方法

    PHP屏蔽過濾指定關鍵字的方法

    這篇文章主要介紹了PHP屏蔽過濾指定關鍵字的方法,包含了字符串的過濾處理與數組的遍歷等技巧,非常具有實用價值,需要的朋友可以參考下
    2014-11-11
  • php實現的中秋博餅游戲之擲骰子并輸出結果功能詳解

    php實現的中秋博餅游戲之擲骰子并輸出結果功能詳解

    這篇文章主要介紹了php實現的中秋博餅游戲之擲骰子并輸出結果功能,結合實例形式分析了php擲骰子的原理及游戲結果的圖形輸出相關操作技巧,需要的朋友可以參考下
    2017-11-11
  • PHP5各個版本的新功能和新特性總結

    PHP5各個版本的新功能和新特性總結

    因為 PHP 那“集百家之長”的語法,加上社區(qū)氛圍不好,很多人對新版本,新特征并無興趣,本文將會介紹自 PHP5.2 起,直至 PHP5.6 中增加的新特征
    2014-03-03
  • PHP面向對象程序設計繼承用法簡單示例

    PHP面向對象程序設計繼承用法簡單示例

    這篇文章主要介紹了PHP面向對象程序設計繼承用法,結合具體實例形式分析了php面向對象程序設計中繼承的相關概念、原理、使用技巧與相關操作注意事項,需要的朋友可以參考下
    2018-12-12
  • php中常量DIRECTORY_SEPARATOR用法深入分析

    php中常量DIRECTORY_SEPARATOR用法深入分析

    這篇文章主要介紹了php中常量DIRECTORY_SEPARATOR用法深入分析,涉及針對Linux路徑分隔符不支持\的情況,具有一定的實用價值,需要的朋友可以參考下
    2014-11-11
  • php寫入txt亂碼的解決方法

    php寫入txt亂碼的解決方法

    在本篇文章里小編給大家分享的是關于php寫入txt亂碼的知識點以及解決方法,有需要的朋友們參考下。
    2019-09-09
  • 使用PHP實現蜘蛛訪問日志統計

    使用PHP實現蜘蛛訪問日志統計

    本篇文章是對使用PHP實現蜘蛛訪問日志統計的代碼進行了詳細的分析介紹,需要的朋友參考下
    2013-07-07
  • PHP加密解密實例分析

    PHP加密解密實例分析

    這篇文章主要介紹了PHP加密解密實現方法,結合實例形式分析了PHP自定義函數實現字符串加密與對應解密的相關技巧,需要的朋友可以參考下
    2015-12-12
  • 基于PHP實現解密或加密Cloudflar郵箱保護

    基于PHP實現解密或加密Cloudflar郵箱保護

    這篇文章主要介紹了基于PHP實現解密Cloudflar郵箱保護,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06

最新評論

房产| 淮南市| 广宁县| 蕲春县| 子洲县| 宁化县| 保亭| 海宁市| 和龙市| 平安县| 屏东县| 大渡口区| 镇坪县| 达州市| 临沂市| 高陵县| 彰化市| 宜川县| 延安市| 溧水县| 城市| 自贡市| 长丰县| 禹城市| 洮南市| 长宁县| 陵川县| 莲花县| 饶阳县| 水富县| 聊城市| 崇左市| 搜索| 逊克县| 金门县| 北海市| 镶黄旗| 五河县| 霞浦县| 天等县| 隆昌县|