APIで悩みました
今、アフリエイトサービスにAPIを利用できるところができています。なんとかAPIをPHPを使って利用できるようになってきたので、LINKSHAREのクロスオーバーサーチ(リンクシェア・Webサービス)を申し込み、アクセス許可のトークンをいただきました。
そして、いつものようにPEARのXML/Unserializer.phpというユーティりティを使ってみたのだけれど文字化けするのです。今まで、アマゾンでも、リクルートのWEBサービスでも利用できたのに・・・。XMLのソースをみると日本語がUNICODEという記号になっています。いままでこんなことはなかったのに、ということで、半日悩みました。
それで、他にリンクシェアのクロスオーバーサーチを活用しているところがないかと検索したら、「LinkShare Technical 」を見つけました。こちらはPHPのソースも公開しておられるのでダウンロードしてみました。よく出来たプログラムで、私のような初心者には大変勉強になります。PEARのXML/XML_Tree_Ex.phpを利用していましたが、基本は一緒なので、よくみると、URLからXMLを読み込んで出力する時に「UTF-8」というオプションコードを加えていました。
今まで、PEARのXML/Unserializer.phpでは別に加えなくても支障なく配列に出力してくれていましたが、試しに
$parser = new XML_Unserializer(array('parseAttributes' => true,'targetEncoding' => 'utf-8'));
と書いて見ました。結果は文字化け解消です。
自分の記憶に残るよう、書いておきます。LinkShare Technical さんありがとうございました。