簡體   English   中英

使用NuSOAP檢索結果時出現XML錯誤(無效字符)

[英]XML error (Invalid Character) when retrieving results with NuSOAP

我正在使用NuSOAP與第三方API進行交互,包括運行數據庫查詢和檢索結果。 它的運行相當可靠,但是我遇到了一個特定查詢的問題。 NuSOAP沒有返回結果,而是生成了一個錯誤: XML error parsing SOAP payload on line 2: Invalid character

事實證明結果集包含以下內容: Léa Lincoln 當我手動將帶重音符號的字符更改為“常規”字符時,查詢工作正常,並且NuSOAP沒有錯誤。

因此,我的問題是如何處理這一問題。 我無法控制來自數據庫的數據,並且我需要NuSOAP不要在每次出現非標准字符時都拋出錯誤並停止。 謝謝。 -傑夫

經過搜索和測試后,似乎解決了CAZypedia小組的黑客行為:

function nusoap_parser($xml,$encoding='UTF-8',$method='',$decode_utf8=true){
    parent::nusoap_base();

    // Hack by CAZypedia crew to fix character encoding of NCBI XML data from SOAP
    // This prevents non-English characters from causing the parser to choke.
    $xml = iconv("ISO-8859-1", "UTF-8//TRANSLIT", $xml);
    // End hack.
    $this->xml = $xml;
    $this->xml_encoding = $encoding;
    $this->method = $method;
    $this->decode_utf8 = $decode_utf8;

鏈接: http//sourceforge.net/projects/nusoap/forums/forum/193579/topic/3718945

我有同樣的問題,我通過在文件nusoap.php和class.nusoap_base.php中更改行var $ soap_defencoding ='UTF-8'來解決了

在這些文件中,有兩行,$ soap_defencoding ='UTF-8'和$ soap_defencoding ='ISO-8859-1',其中一行被注釋,另一行沒有注釋。

我嘗試將評論從一個選項移到另一個,並且成功了!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM