[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 メーリングリストの案内