ホームページ > バックエンド開発 > PHPチュートリアル > PHP が Web サービスを呼び出すと中国語が文字化けする解決策_PHP チュートリアル

PHP が Web サービスを呼び出すと中国語が文字化けする解決策_PHP チュートリアル

WBOY
リリース: 2016-07-20 11:09:54
オリジナル
907 人が閲覧しました

仕事の都合上、同僚の A Tao が PHP で .net Web サービスのアプリケーションをテストするのを手伝い、インターネットで情報を探し始めたところ、多くの PHP チュートリアルで nusoap が使用されていることがわかりました。そこで、それをダウンロードして使用しました。この例のダウンロード アドレスは、記事の最後にある添付ファイルで確認できます。コードは次のとおりです。

require_once('../nusoap/lib/nusoap.php') ;

$client = new soapclient('http://localhost/TestService/Service1.asmx?WSDL', true);

$err = $client->getError();

if ($err) {
echo '

コンストラクター エラー

' . '
';
}
// ドキュメント/lit パラメータがラップされます
$param = array('str' => '中国');
$result = $client->call('HelloWorld', array('parameters' => $param), '', '', false, true,'document','encoded') ;
// 障害をチェックします
if ($client->fault) {
echo '

Fault

';<br>print_r($result);<br>echo '</ pre>';<br> } else {<br>// エラーをチェック<br>$err = $client->getError();<br>if ($err) {<br> // エラーを表示<br> echo '<h2>Error</ h2><pre class="brush:php;toolbar:false">' . $err . '
';
// 結果を表示
echo '

Result

';<br> $result);<br> echo '
';
}
}
echo '

Request

' . htmlspecialchars($client->request, ENT_QUOTES) ' ;/pre>' ;<br>echo '<h2>Response</h2><pre class="brush:php;toolbar:false">' .htmlspecialchars($client->response, ENT_QUOTES) '<h2&gt ;Debug</h2&gt ;<pre class="brush:php;toolbar:false">' . htmlspecialchars($client->debug_str, ENT_QUOTES) '
';



によって返されたコンテンツに中国語が含まれていない場合私の Web サービスは非常に単純ですが、Web サービスに中国語が含まれている場合、返された値は nusoap で正しく処理されるはずです。問題がありました
PHPブレークポイントデバッグツールをインストールしていないので(実際、そのようなツールがあるかどうかさえ知りません)、それを見た後は1つのメソッドと1つのメソッドしか見ることができません。 1 日かけて、ようやく nusoap を変更しました。 変更点:
行 86: var $soap_defencoding = 'UTF-8';
====== ==== ============================================= ==== ===========

そのままでも大丈夫ですが、$client = newsoapclient('http://localhost/TestService/Service1. asmx?WSDL', true );

$client->soap_defencoding = 'UTF-8';
$client->soap_defencoding = 'UTF-8';
効果は同じです。
================================================ === ======================
リクエストのパラメータが中国語の場合は、郵送または入手で送信するだけです。
必要に応じて、コードに中国語のパラメータが記述されている場合は、エンコーディングを UTF8 に変換する必要があります。



添付ファイル:
nusoap ソース ファイル: http://www.cnblogs.com/Files /coolstr/nusoap.zip
各 コード変換ソースファイル: http://www.cnblogs.com/Files/coolstr/chinese.zip




http://www.bkjia.com/PHPjc/444768.html

www.bkjia.com

tru​​e
http://www.bkjia.com/PHPjc/444768.html

技術記事仕事の必要があったので、同僚の A Tao が PHP で .net Web サービスのアプリケーションをテストするのを手伝いました。それで、インターネットで情報を検索し始めたところ、多くの PHP チュートリアルで nusoap が使用されていることがわかりました。そこで、1 つダウンロードしました。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート