PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

XML エンコーディング | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

XML エンコーディング

XML エンコーディング – Services_Ebay の XML エンコーディング

Services_Ebay の XML エンコーディング

2005 年の中ごろ以降、eBay API は UTF-8 エンコードされた XML 文書しか受け付けなくなります。すべてのデータを UTF-8 に変換するのは退屈な作業です。Services_Ebay が、 あなたのためにこれを代わりに行います。あなたがすべきことは、 セッションオブジェクトを作成する際に スクリプトのエンコーディングを指定することだけです。

スクリプトで ISO-8859-1 を使用する場合

<?php
require_once 'Services/Ebay.php';
    
// 認証データを渡します
$session Services_Ebay::getSession($devId$appId$certId'ISO-8859-1');
$session->setToken($token);

// 新しいプロキシオブジェクトを作成します
$ebay = new Services_Ebay($session);


$item Services_Ebay::loadModel('Item'null$session);
$item->Category 57882;
$item->Title 'International Item';
$item->Description 'This description contains Umlaut characters like ?, ? and ?';
$item->Location 'At my home';
$item->MinimumBid '532.0'$item->VisaMaster 1;
$item->ShippingType 1;
$item->CheckoutDetailsSpecified 1;
$item->Country 'US';
$item->SetShipToLocations(array('US''DE''GB'));
$item->addShippingServiceOption(1131, array('US'));

$result $ebay->AddItem($item);
?>

商品の説明文に含まれているウムラウト文字は、XML ドキュメントを作成する際に 自動的に UTF-8 に変換されます。さらに、eBay API が返す結果のドキュメントは ISO-8859-1 にデコードされます。そのため、あなたは UTF-8 については何も考慮する必要はありません。

もちろん、UTF-8 エンコードされたデータを Services_Ebay に渡すこともできます。 セッションオブジェクトを作成する際のエンコーディング指定を変更するだけです。

スクリプトで UTF-8 を使用する場合

<?php
require_once 'Services/Ebay.php';
    
// 認証データを渡します
$session Services_Ebay::getSession($devId$appId$certId'UTF-8');
$session->setToken($token);

// 新しいプロキシオブジェクトを作成します
$ebay = new Services_Ebay($session);


$item Services_Ebay::loadModel('Item'null$session);
$item->Category 57882;
$item->Title 'International Item';
$item->Description utf8_encode('This description contains Umlaut characters like ?, ? and ?');
$item->Location 'At my home';
$item->MinimumBid '532.0'$item->VisaMaster 1;
$item->ShippingType 1;
$item->CheckoutDetailsSpecified 1;
$item->Country 'US';
$item->SetShipToLocations(array('US''DE''GB'));
$item->addShippingServiceOption(1131, array('US'));

$result $ebay->AddItem($item);
?>

この例では、utf8_encode() を使用して、 データを事前にエンコードしてから Services_Ebay に渡しています。二重にエンコードしてしまうことを避けるために、 エンコーディングを UTF-8 と指定する必要があります。

忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「XML エンコーディング」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | XML エンコーディング」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: