電子書籍の厳選無料作品が豊富!

FlashCS5(ActionScript3.0)で検索フォームを作成しております。日本語検索が、Yahooやgoogleでは問題なく検索できるのですが、YouTubeだけはSearch results forなどと表示されうまくいかないです。
●FLASH上で「動画」という言葉で検索したら、その際のYouTubeサイト上のURL欄には
http://www.youtube.com/results?search_query=%93% …
と、表示され失敗します。
●試しにYouTubeサイト上で「動画」という言葉を検索したら
http://www.youtube.com/results?search_query=動画&aq=f
となり漢字となるのが正常のようです。
どうすればうまく検索できるようになるのでしょうか。ご教授よろしくお願いします。

↓成功した(yahoo)
var url:URLRequest = new URLRequest("http://search.yahoo.co.jp/search?p=" + _str + "&ei=SJIS");
navigateToURL(url);

↓成功した(google)
var url:URLRequest = new URLRequest("http://www.google.co.jp/search?q=" + _str);
navigateToURL(url);

↓失敗(youtube)
var url:URLRequest = new URLRequest("http://www.youtube.com/results?search_query=" + _str + "&aq=f");
navigateToURL(url);

A 回答 (1件)

私の環境(Windows Vista / IE 8)ではURLエンコードすれば成功しましたよ。



例えば
検索窓である テキスト入力 の テキストフィールド に 「_txt」 というインスタンス名を付けていたとします。
その場合は次のようになります。

var _str:String = encodeURI(_txt.text);
var url:URLRequest = new URLRequest("http://www.youtube.com/results?search_query=" + _str + "&aq=f");
navigateToURL(url);
    • good
    • 0
この回答へのお礼

お礼が遅れて申し訳ありません。
そうですね、URLエンコードという方法がFLASHにもあるのを
忘れていました。
URLエンコードなどを調整してうまくいきました。
ありがとうございました。

お礼日時:2011/01/07 09:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!