2014-04-04 4 views
0

Nusoap response xml utf-8 content like like? 나는 클라이언트 및 서버 파일에서 soap_defencoding = 'UTF-8'및 decode_utf8 = false를 추가하고 서버 PHP 파일의 결과 배열에 utf8_decode를 추가했습니다. 두 응답 및 요청 XML에 대한Nusoap 응답 xml utf-8 콘텐츠는 다음과 유사합니까? 내가 클라이언트 및 서버에서 soap_defencoding = 'UTF-8'및 decode_utf8 = false를 추가했을 때

server.php

<?php 

require_once("lib/nusoap.php"); 

$server = new nusoap_server; 
$server->configureWSDL("searchwsdl", "searchwsdl#search"); 


//$server->xml_encoding ="utf-8"; 
$server->soap_defencoding = 'UTF-8'; 
$server->decode_utf8 = false; 

/* 
$server->decode_utf8 = false; 
$server->encode_utf8 = true;*/ 

$server->wsdl->addComplexType(
     "searchdata", 
     "complexType", 
     "struct", 
     "all", 
     "", 
     array(
      "searchkey" => array("name"=>"searchkey", "type"=>"xsd:string") 
     ) 
    ); 



$server->register(
     'searchstring', 
     array(
      "searchstr"=>"tns:searchdata" 
     ), 
     array(
      "return"=>"xsd:Array" 
     ), 
     'uri:searchwsdl', 
     'uri:searchwsdl#search', 
     'rpc', 
     'encoded' 
    ); 


function searchstring($searchstr){ 
    return resultArray; 

} 
?> 

client.php

<?php 

$searchClient = new nusoap_client($url); 
           $searchClient->soap_defencoding = 'UTF-8'; 
           $searchClient->decode_utf8 = false; 


          if($searchClient->getError()){ 
           echo $searchClient->error_str; 
          }else{ 

            $results = $searchClient->call("searchstring", array("searchKey"=>$searchKey), "uri:searchwsdl", "uri:searchwsdl#search"); 

         //echo $searchClient->error_str; 
         //echo $searchClient->faultdetail; 
         //echo utf8_decode($searchClient->response); 

           if($searchClient->getError()){ 
             $searchClient->error_str; 
           }else{ 
            if($searchClient->fault){ 
             echo $searchClient->faultdetail; 
            }else{ 



            print_r($results); 

?> 

contnet 형은 UTF-8에 있지만 여전히 UTF 문자 (물음표에 표시된다?).

답변

0

위 문제가 해결되었습니다. mysql charset을 변경하는 것을 잊었다.

<?php 

mysqli_set_charset("utf8") 

?>