[PHP-users 9963] Re: SOAP通信での文字コードについて
Naoki Shima
php-users@php.gr.jp
Tue, 10 Sep 2002 19:28:16 +0900
嶋です。
On 2002.9.9, at 05:41 午後, Shinji Hotta wrote:
> 堀田です。
>
> にすると、文字化けが起こり日本語とうまく表示されませんでした。
> そこで、返ってきた$resultの文字コードをmb_detect_encoding($result)で調べた結
> 果
> $resultはASCIコードだと分かりました。
> SOAPで日本語をやり取りするときには、GoogleAPIのようにUTF-8にエンコーディング
> してからやらなければならないのでしょうか?
> 教えてください。
PEAR SOAPが利用しているPEAR のXMLパッケージは日本語に対応していないため、
UTF-8に変換してから、通信を行う必要があります。
>
> あと、引数のやり取りについてなんですが、
> PHP同士のやり取りでは、
> $result
> =$obj->call('returnString',array(),'http://192.168.7.148/Test');
> の部分で、call関数の二つ目の引数であるarray()を
> array("送信する関数の引数名"=>"引数")
array('引数の型' => '引数')が正しい引数のフォーマットです。
PEAR SOAPで利用できる引数の型は以下の通りです。
String 文字列
Integer 数値
Array 配列
連想配列ではなく、配列です。
Struct 構造体
連想配列。Perlではハッシュ(hash)とよばれていますね。
例:array('string' => '文字');
W3CのSOAP規格にも目をとおしておくといいかと思いますよ。
それでは
--
嶋 直毅
naoki@avantexchange.com
murahachibu@php.net