人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

FLASH CS5.5でYAHOO検索をしたいのですが、半角英語は問題ありませんが日本語が検索できません。
どう書けば良いのか教えて頂けますか?500ポイント差し上げます。

bo.addEventListener(MouseEvent.CLICK,f_1);
function f_1(e:Event):void {
a = String(mozi.text);
b = "http://search.yahoo.co.jp/search?p=" + a + "&aq=-1&oq=&ei=UTF-8&fr=slv1-tbtop&x=wrt"
var url:URLRequest = new URLRequest(b);
navigateToURL(url, "_blank");

}

●質問者: manekinekoo
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● うぃんど
●200ポイント

URLエンコードが必要なだけではないですか?

 b = "http://search.yahoo.co.jp/search?p=" + escape(a) + "&aq=-1&oq=&ei=UTF-8&fr=slv1-tbtop&x=wrt"

manekinekooさんのコメント
ありがとうございます。 コピーして試しましたが、キーワードが文字化けしている状態です。 どうすればよいのでしょうか?

うぃんどさんのコメント
回答3で頂戴しているように、 escape ではなく escapeMultiByte ですよね・・・ 確認しておくべきでした・・・ではなく、 いつまで2.0に縛られているのかと私自身に問うべきなのでしょう・・・ escapeMultiByte を使うには、 flash.utils パッケージを インポートしておく必要があるので、お忘れなく

manekinekooさんのコメント
ありがとうございます。 escapeMultiByteで問題無くできました(^o^)

2 ● kodairabase
●100ポイント

これでどうでしょう。

function f_1(e:Event):void {
 var a:String = Jcode.EUCtoUTF8(String(mozi.text));
 var b:String = "http://search.yahoo.co.jp/search?p=" + a + "&aq=-1&oq=&ei=UTF-8&fr=slv1-tbtop&x=wrt"
 var url:URLRequest = new URLRequest(b);
 navigateToURL(url, "_blank");
}

manekinekooさんのコメント
ありがとうございます。 そのままコピーして試しましたが、var url:URLRequest = new URLRequest(b); あたりでエラーがでました。 詳しくは見ていませんが、原因はわかりますか?

3 ● Cherenkov
●200ポイント ベストアンサー

Yahoo!デベロッパーネットワーク - Yahoo!検索(ウェブ検索)の検索パラメータ仕様
検索クエリーのエンコードが必要です。


知らないとハマるFlash(AS3)のURLエンコード(escape)の罠|本を買わずに解決するWeb制作の小技

escapeよりもescapeMultiByteのほうがいいかも。


manekinekooさんのコメント
ありがとうございます。 参考になりました。 ただ、実際どのように書いてよいのか慣れていないのでわかりません。

Cherenkovさんのコメント
import flash.utils.escapeMultiByte;してから 回答1のescape(a)の部分をescapeMultiByte(a)するとどうですか?

Cherenkovさんのコメント
パラメータに&ei=UTF-8が指定されているので内部エンコード(?)などはUTF-8になっていると思いますが、 System.useCodePage = false; これも必要かも。 参考: http://cuaoar.jp/2006/06/post-12.html

Cherenkovさんのコメント
あ、わかんない。単純にencodeURIでいいのかな。 http://cuaoar.jp/2006/06/uri.html

Cherenkovさんのコメント
回答はencodeURIComponent(a)に訂正します。

manekinekooさんのコメント
ありがとうございます。 すみませんこちらの勘違いでした。 escapeMultiByteで問題無くできました(^o^)
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ