• ベストアンサー

文字列のエンコード

お世話になります。 googleで、「漢字」と検索窓に入力すると URLに「q=%E6%96%87%E5%AD%97%E5%88%97」と変換されます。 PHPで $str = "漢字"; から $str に "%E6%96%87%E5%AD%97%E5%88%97"  を格納させるためには、どんなコーディングすればいいですか?

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
noname#138894
noname#138894
回答No.1

$str = urlencode('漢字'); でURLエンコードされます。 http://php.net/manual/ja/function.urlencode.php

関連するQ&A

  • 一般的な方法で『URLエンコード』ができません・・・

    よろしくお願いいたします。 テキストボックスに入力(「こんにちは」など)した値をもとに、Yahooで検索させたいのですが、以下の方法でエンコードしました。 sub url_encode($) { my $str = shift; $str =~ s/([^\w ])/'%'.unpack('H2', $1)/eg; $str =~ tr/ /+/; return $str; } そうしたところ、「/」や「:」も別の文字「%2f」「%3a」に変換されてしまい、Yahooのページが開きません。 ちなみにYahooで「こんにちは」と検索すると、URLが以下のようになります。 http://search.yahoo.co.jp/search?p=%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF&ei=UTF-8&fr=top_v2&x=wrt&meta=vc%3D テキストボックスに「こんにちは」と入力すして検索ボタンをクリックすると、上記のように変換させたいのです。 どのようにしてエンコードしたらよろしいのでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • Stringクラスの文字列の内容

    こんにちわ。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=742689 に似たような質問がございましたが・・・ 関連書籍やサイトのいずれを見ても、 「Stringクラスは文字列の内容を変更することは出来ない」 と書いていますが・・・ String str1; String str2; str1="こんにちわ"; str2="さようなら"; str1=str1+str2; System.out.println(str1); とコーディングすると、何事もなく、 「こんにちわさようなら」 と出力されます。 そうなると、StringBufferクラスのappendメソッドをわざわざ使用しなくてもよくなるのですが、 これは、どのように解釈すればよいのかご存知の方がおりましたら、ぜひ、教えてください。 以上、宜しくお願いいたします。

    • ベストアンサー
    • Java
  • 文字変換?

    こんにちわ。 自分でも、今一わかってないのですが、例えばYahoo! Japanで ブログ  と検索した場合に、下記のURLを検索結果として表示します。 http://search.yahoo.co.jp/search/dir?p=%E3%83%96%E3%83%AD%E3%82%B0&ei=UTF-8&x=drt そこで、質問なのですがJavaScriptを使って、入力された文字をUTF-8?(%E3%83%96%E3%83%AD%E3%82%B0の部分)に変換する方法はあるのでしょうか? 具体的には、複数の検索エンジンに1つのテキストボックスから検索出来る様にしたい為、そのテキストボックスに入力された文字を変換する方法を教えて欲しいです。 よろしくお願いしますm(_ _)m

  • PHPの文字列をJavascriptの変数にする

    PHPの変数に格納された文字列を、直接Javascriptの変数の一部として格納しようと考えています。 例:) <script> var txt = "<?php echo $text; ?>"; </script> しかし、$textにダブルクォーテーションなどの文字が含まれていると、スクリプト全体が破綻します。今のところ、PHPの中で、問題を起こしそうな文字列を変換するように処理しています。 例:) $text = str_replace("\\", "\\\\", $text); $text = str_replace("\"", "\\\"", $text); $text = str_replace("\n", "\\n", $text); これよりもスマートな方法(たとえば用意されている関数を使うなど)がありますでしょうか。

    • ベストアンサー
    • PHP
  • PHPでYahoo、Google検索時に文字化け

    お世話になります。 PHPでYahoo、Google検索を 作成したのですが、一度目は文字化けせず 動作するのですが戻って再検索すると 文字化けします。 以下コーディングサンプルです。 (動作確認はlocalhostで行っています) <?php /* PHPでGoogle、Yahooを検索する */ $strKey = mb_convert_encoding($_POST['keyword'],"UTF-8",mb_internal_encoding()); $strKey=urlencode($strKey); switch($_POST['webname']){ case "yahoo": $url="http://search.yahoo.co.jp/bin/search?p="; break; case "google": $url="http://www.google.com/search?hl=ja&ie=euc-jp&q="; break; } header("Location: ".$url.$strKey); ?> 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • YouTubeの自作検索フォームで文字化けする

    FlashCS5(ActionScript3.0)で検索フォームを作成しております。日本語検索が、Yahooやgoogleでは問題なく検索できるのですが、YouTubeだけはSearch results forなどと表示されうまくいかないです。 ●FLASH上で「動画」という言葉で検索したら、その際のYouTubeサイト上のURL欄には http://www.youtube.com/results?search_query=%93%AE%89%E6&aq=f と、表示され失敗します。 ●試しに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);

    • ベストアンサー
    • Flash
  • 文字列の変換について

    PHPを用いて、リファラーから検索文字列を取得するスクリプトを作成しています。下記のような感じです。ただ、検索文字列にスペースが連続していたり、「ホテル、予約」「時刻表・東京」などのように「、」や「・」があると文字列が連続してしまい、うまくいきません。 よろしくお願いします。 $ref=split('\?','http://hogehoge.com?q=リファラー'); mb_parse_str($ref[1],$q); foreach($q as $key => $value){ if($key=='p' or $key=='q'){ // yahooとgoogleだけ調べると仮定 $value=mb_convert_kana($value,'rnKs'); $keyword=split(' ',$value); foreach($keyword as $k){ echo $k; } } }

    • ベストアンサー
    • PHP
  • 検索文字列を ' ' で囲むのと " "で囲むのの違い

    Googleで検索するときに、次の(1)、(2)のようにすると何が検索されますか。 (1)文字列をシングルクオーテーションマークに入れて検索する。例えば、 'This is a pen.' を窓に入力して検索する。 (2)文字列をダブルクオーテーションマークに入れて検索する。例えば、 "This is a pen." を窓に入力して検索する。

  • 日本語を含むURLに、アドレスが文字化けせずにアクセスする方法

    Javaで外部リンクにアクセスをする場合(特に携帯電話など)、 URLに日本語が含まれていた場合は文字化けしてしまいます 例:http://example.xx.com/index.php&name=サンプル 検索エンジンのような場合を見ると、例えば「教えてgoo」と検索すると Googleの場合はUTF-8(16進)にURLの変換が行われ以下の様に http://www.google.co.jp/search?hl=ja&inlang=ja&q=%E6%95%99%E3%81%88%E3%81%A6%EF%BD%87%EF%BD%8F%EF%BD%8F とアクセスするようになります。 このようにJavaで日本語のURLを変換してアクセスできるようにしたいと 思っているのですがその方法がいまいちよく解らないのです; Javaではこのような変換できるメソッドというのは存在しているのでしょうか? 無い場合はJavaでもメソッドを作るのことはできるのでしょうか? ご存知の方がおられましたら、どうかアドバイスをお願いします。

  • google検索の文字変換が遅くなりました

    google検索において、入力窓での文字変換が急に遅くなりました。ヤフーとかMSNでの検索では、普通に文字変換できるのですが、googleだけ非常に遅いです。復旧方法をご存じの方ご教示ください。