PHP Webサービスの文字化けコードの解決策: まず「nusoap.php」ファイルを開き、次に内容を「var $soap_defencoding = 'UTF-8';」および「var $decode_utf8 = false;」に変更します。
推奨: 「PHP ビデオ チュートリアル 」
php 呼び出し Web サービスの中国語文字化け解決策
仕事の都合で、同僚の A Tao が PHP で .net Web サービスのアプリケーションをテストするのを手伝いました。それで、インターネットで情報を検索し始めたところ、多くの PHP チュートリアルで nusoap が使用されていることがわかり、ダウンロードしました。付属のサンプルを使用して変更してください。ダウンロード アドレスは記事の最後にある添付ファイルにあります。コードは次のとおりです。
<?php require_once('../nusoap/lib/nusoap.php'); $client = new soapclient('http://localhost/TestService/Service1.asmx?WSDL', true); $err = $client->getError(); if ($err) { echo '<h2>Constructor error</h2><pre class="brush:php;toolbar:false">' . $err . ''; } // Doc/lit parameters get wrapped $param = array('str' => 'China'); $result = $client->call('HelloWorld', array('parameters' => $param), '', '', false, true,'document','encoded'); // Check for a fault if ($client->fault) { echo '
'; print_r($result); echo ''; } else { // Check for errors $err = $client->getError(); if ($err) { // Display the error echo '
' . $err . ''; } else { // Display the result echo '
'; print_r($result); echo ''; } } echo '
' . htmlspecialchars($client->request, ENT_QUOTES) . ''; echo '
' . htmlspecialchars($client->response, ENT_QUOTES) . '';//开源代码最模板zuimoban.com echo '
' . htmlspecialchars($client->debug_str, ENT_QUOTES) . ''; ?>
返されたコンテンツに中国語が含まれていない場合Web サービス、上記の例を使用するのは非常に簡単です。成功しました。しかし、新たな問題が発生しました。Web サービスに中国語が含まれている場合、戻り値が文字化けします。応答結果を確認したところ、正しい結果でした。表示されるはずです。 nusoapで処理する場合 Question.
PHPブレークポイントデバッグツールをインストールしていない(というか、そんなツールがあるのかすら知らない)ため、メソッドは1つしか見ることができません方法が 1 つあります。1 日眺めて、ようやく完成しました。nusoap を変更しました。php は OK です。
変更箇所:
86行的:var $soap_defencoding = 'UTF-8'; 4998行的:var $decode_utf8 = false;
変更しなくても大丈夫ですが、変更する必要があります。呼び出し時にエンコーディングを指定します。
$client = new soapclient('http://localhost/TestService/Service1.asmx?WSDL', true); $client->soap_defencoding = 'UTF-8'; $client->soap_defencoding = 'UTF-8';
こんな感じです。効果は同じです。リクエストのパラメータが中国語の場合は、post または get で送信してください。パラメータを中国語で記述する必要がある場合は、コードを編集するには、エンコードを UTF8 に変換する必要があります。添付ファイルを参照してください。 .
以上がPHP Webサービスが文字化けした場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。