[PHP-users 33461] Re: Pear::SOAP とスクリプトの文字コード

Ryo Matsufuji jklryo @ gmail.com
2008年 4月 10日 (木) 22:29:06 JST


matsufujiです。

PHPのVersion違うのですが、私もそのURLを見てSoapを使ったので参考になれば。

SoapClient()の第二引数で文字コードを指定することが出来たと思います。

$wsdl = 'hoge';
$option = array('encoding' => 'SJIS');
$client = new SoapClient($wsdl,$option);

こうするとSoap通信の結果がShift_JISで返ってきます。

私は
PHP 5.2.5
クライアント SJIS
サーバ UTF-8
の状態で文字化けせずに動作しました。

EUCも大丈夫なんじゃないかなと思います。
テストできる環境が手元にないので憶測ですけど。。


--
 Ryo Matsufuji <jklryo @ gmail.com>
 http://jkl.lomo.jp/


2008/4/10  <icc10325 @ nifty.com>:
> お世話になります。
>
>  Pear::SOAPを利用したプログラムを調査しているのですが、文字コードの件でイロイロ
>  試したのですがうまくいかず、頭が混乱してきましたのでご助言をお願いいたします。
>
>
>  下記のサイトを参考にSOAPサーバー・クライアントのプログラムを用意しました
>  http://www.doyouphp.jp/php5/php5_soap_extension_server.shtml
>
>  今回はどうしてもPHPソースをEUC-JPで記述しないといけません。
>  しかし上記URL記載のようにPear::SOAPの出力がUTF-8を期待しています。
>  (参考サイトでは「面倒なので」ソース自身をUTF-8で記述しているようです)
>
>  実際、UTFで記述すると正常に動作する参考スクリプトが、EUCで記述すると文字化け(
>  受け取った文字のみ)したり、戻り値のXMLを認識してくれなかったりしているようで
>  す。
>
>
>  最終的にお伺いしたい内容は
>  ・上記の参考サイト同様の内容を、EUC-JPでソースを記述して正常に動作させるために
>  はどのような文字コード関連の設定を行えばよろしいでしょうか?
>  多分、mb_http_outputはUTF-8でないといけない・・・と思われますので、
>  ・PHPソースはEUC
>  ・HTTP出力はUTF-8
>  が目標なんだろうな・・・と思います
>
>  ちなみに、
>  ・php.iniは変更できません
>  ・mbstring.internal_encodingなどの設定は「.htaccess」または「該当のPHPソースの
>  中で設定」で対応。
>  ・PHPバージョンは5.1.6、Pear::SOAPは0.11です
>
>  が条件?となります。
>
>  以上、よろしくお願いいたします。
>
>
>  _______________________________________________
>  PHP-users mailing list  PHP-users @ php.gr.jp
>  http://ml.php.gr.jp/mailman/listinfo/php-users
>  PHP初心者のためのページ - 質問する前にはこちらをお読みください
>  http://oldwww.php.gr.jp/php/novice.php3
>


PHP-users メーリングリストの案内