dポイントプレゼントキャンペーン実施中!

こんにちわ。

自分でも、今一わかってないのですが、例えばYahoo! Japanで ブログ
 と検索した場合に、下記のURLを検索結果として表示します。

http://search.yahoo.co.jp/search/dir?p=%E3%83%96 …

そこで、質問なのですがJavaScriptを使って、入力された文字をUTF-8?(%E3%83%96%E3%83%AD%E3%82%B0の部分)に変換する方法はあるのでしょうか?

具体的には、複数の検索エンジンに1つのテキストボックスから検索出来る様にしたい為、そのテキストボックスに入力された文字を変換する方法を教えて欲しいです。

よろしくお願いしますm(_ _)m

A 回答 (5件)

まあ、現在の一般的なブラウザの最新Verであれば



var encoded = encodeURICompornent("あいうえお");

で大丈夫だと思います。

この回答への補足

初歩的な質問ですみません。

この方法でエンコードした値を、変数等へ渡すにはどうすればいいですか?

回答、よろしくお願いしますm(_ _)m

補足日時:2007/08/29 17:31
    • good
    • 0
この回答へのお礼

この方法で解決出来ました。参考書に載ってない知識だったので大変助かりました。

また、2度に渡って回答して頂き、ありがとうございましたm(_ _)m

お礼日時:2007/08/30 14:27

確認してないけど、スペルが違う



>encodeURICompo【r】nent
    • good
    • 0
この回答へのお礼

ご指摘の通り、スペルが違っていました。修正後、問題が解決しました。

回答頂き、ありがとうございましたm(_ _)m

お礼日時:2007/08/30 14:24

えと、


var encoded = encodeURICompornent("あいうえお");
で、すでに変数 encoded に入れているのですが・・・。
encodeURICompornentはグローバル関数で
引数の文字列をエンコードして返却します。
なので、入力値をエンコードしたければ

<input type="text" id="in"/>
<script>
var value = document.getElementById("in").value;
var encoded = encodeURICompornent(value);
//↑エンコードされた結果が格納されている。
</script>

とかになると思います。

この回答への補足

度々すみません。ご指摘の通りに手を加えてみたのですが・・・、”オブジェクトを指定して下さい”とエラーが出ます。ソースを公開しますので、アドバイスをお願いしますm(_ _)m


【JavaScript部分のソース(HEAD内)】
<script language="JavaScript">
<!--
function qSearch(){
i = document.getElementById("qsList").value;
var value = document.getElementById("qsKey").value;
var encoded = encodeURICompornent(value);

switch(i){
case "1":
newWin=window.open("http://search.yahoo.co.jp/search?p=" + encoded);
break;
case "2":
newWin=window.open("http://www.google.co.jp/search?hl=ja&q=" + encoded);
break;
case "3":
newWin=window.open("http://search.goo.ne.jp/web.jsp?MT=" + encoded);
break;
case "4":
newWin=window.open("http://search.msn.co.jp/results.aspx?q=" + encoded);
break;
case "5":
newWin=window.open("http://www.excite.co.jp/search.gw?target=combine … + encoded);
break;
case "6":
newWin=window.open("http://search.www.infoseek.co.jp/Seek?qt=" + encoded);
break;

default:
alert("サーチエンジンを選択して下さい...");
break;
}

}
//-->
</script>


【フォーム(BODY内)】
<table border="0" height="100%" width="100%" cellpadding="0" cellspacing="0" style="background-image:url(images/qsearch.gif); background-position:left top; background-repeat:no-repeat;">
<tr height="17">
<td> </td>
</tr>
<tr>
<td>
<select name="qsMenu" id="qsList">
<option value="-" style="color:#0000FF; font-weight:bold;">▼Webページ検索▼
<option value="1" class="qm1">[Web]Yahoo! Japan
<option value="2" class="qm1" selected>[Web]Google
<option value="3" class="qm1">[Web]goo
<option value="4" class="qm1">[Web]MSN
<option value="5" class="qm1">[Web]excite
<option value="6" class="qm1">[Web]infoseek
</select>
</td>
<td>
<input type="submit" value="リンク" name="qsMenu" id="qsLink">
</td>
</tr>
<tr>
<td>
<input type="text" size="36" name="qsMenu" id="qsKey">
</td>
<td>
<input type="button" value="検索" name="qsMenu" id="qsButton" onClick="qSearch()">
</td>
</tr>
<tr height="15">
<td> </td>
</tr>
</table>

補足日時:2007/08/29 18:45
    • good
    • 0

これ、UTF-8じゃないですよ。

。。
文字のエンコーディングをしているだけです。
でも、URLEncodeはブラウザ依存な関数なので、
http://www.cresc.co.jp/tech/java/URLencoding/Jav …
自力で実装するのが良いということになってしまいますね。。。
    • good
    • 0
この回答へのお礼

参考になる知識とURL、ありがとうございました。

お礼日時:2007/08/30 14:30

試していませんが、UTF8/16 変換ライブラリを公開されているサイトがありました。


(下記リンク)

参考URL:http://user1.matsumoto.ne.jp/~goma/js/utf.html
    • good
    • 0
この回答へのお礼

回答頂きありがとうございましたm(_ _)m

お礼日時:2007/08/30 14:31

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