Iは、xsd:anyType
あることがwsdl
ファイルに返された値のdatatype
を設定:なぜwebserviceはアクセント付の手紙をサポートしていませんか?
<message name="getEtapeProspResponse">
<part name="return" type="xsd:anyType"/>
</message>
webservice
呼び出しはMySQLのテーブルから選択した列で構成されている文字列を返す関数PHP
。データベースで
function getEtapeProsp($user,$motpasse)
{
$user_code = verifyUser($user, $motpasse) ;
$resultat="";
if ($user_code != null)
{
$datejour = date("Y-m-d");
$connec = mysql_connect("192.168.1.123:3306", "root", "mysqlroot");
mysql_select_db("finance",$connec);
$query = mysql_query("SELECT * FROM etape_prospection INNER JOIN type_prospection ON etape_prospection.type_prosp_id = type_prospection.type_prosp_id WHERE prosp_id IN (SELECT prosp_id FROM transfert WHERE user_code ='".$user_code ."' AND date_transfert='".$datejour."') order by etape_prospection.prosp_id");
while($ligne = mysql_fetch_array($query))
{
$resultat .= $ligne['etape_prosp_id'].';';
$resultat .= $ligne['type_prosp_lib'].';';
$resultat .= convertDateFormatHH($ligne['etape_prosp_date']).';';
$resultat .= $ligne['etape_prosp_comment'].';'; // this is the text column
$resultat .= $ligne['prosp_id'].';';
$resultat .= "\r\n";
}
}
else
{
$resultat = "Login ou mot de passe incorrect" ;
}
return $resultat;
}
値「etape_prosp_commentは」é、強調手紙を持っていますし、いずれかの列はdatatype
text
のを持っています。 問題は、私がJ2ME
アプリケーションからWebサービスを呼び出すと、例外がスローされるということです。しかし、私がcolumn
にアクセントの付いた文字を挿入しないと、Webサービスは正常です。
このアクセント記号の問題を解決するにはどうすればよいですか?
私はPHPのエキスパートではありませんが、情報をエンコードできます。 Webサービスを扱うときは、常に特殊文字が問題になることがあります。 – Ernesto
例外はスローされますか?サーバーから受け取ったXMLメッセージはどのように見えますか? – DRH
「アクセント付きの文字」を意味します。 "太字"、 "イタリック"などの行に沿っていると思われます。httpパイプライン全体(クライアント→PHP→データベース→PHP→クライアント)で文字セットが一致していることを確認しましたか?そのチェーン内の任意の場所にある文字セットの変更は、データをマングリングします。 –