• ベストアンサー

アルファベットもURLエンコードしたい

fumufumu_2006の回答

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

普通(_,a-z,A-Z,0-9以外) $str =~ s/([^_a-zA-Z0-9])/sprintf("%%%02X",ord($1))/eg; _,0-9以外 $str =~ s/([^_0-9])/sprintf("%%%02X",ord($1))/eg; 全部 $str =~ s/(.)/sprintf("%%%02X",ord($1))/eg; もっとスマートな変換方法もあるかも

voidgirl
質問者

お礼

即答ありがとうございました!

関連するQ&A

  • 日本語の文字列のみをURLエンコードする

    ある文字列の中から日本語の部分だけをURLエンコードしたいのですが、どのようにすれば良いのでしょうか。 例えば「http://ja.wikipedia.org/wiki/ウィキペディア」から「http://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A3%E3%82%AD%E3%83%9A%E3%83%87%E3%82%A3%E3%82%A2」という形にURLエンコードする、という事です。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • URLエンコードについて

    「 † 」 の文字をUTF-8 でURLエンコードした時の値が2種類あるんでしょうか。 以下の2つのURLエンコードした文字を %EF%BC%8D %E2%80%A0 URLエンコード/ デコードの結果を出力してくれる こちらのサイトと https://www.tagindex.com/tool/url.html こちらのサイト https://tech-unlimited.com/urlencode.html で結果が異なるみたいです。 なぜこういった結果が異なる状況が生まれるのでしょうか そして正しいのはどちらなのでしょうか

  • URLエンコードされたデータを戻すには

    POSTでCGIに渡す文字列はURLエンコードされていて、元に戻すにはデコードが必要ですが、もともとURLエンコードされたデータをデコードしたデータにできないでしょうか。 普通は、 読める文字→URLエンコード→CGIによる処理→URLデコード→読める文字 ですが、 もとのデータがURLエンコードされた状態だと、 URLエンコードされた文字→URLエンコード→CGIによるURLデコード→URLエンコードされた文字 となってしまいます。 たとえば、「%82%a0%82%a0%82%a0」というデータ形式から、「あああ」というデータを得たいのです。

  • ■URLのエンコードについて

    ■URLのエンコードについて お世話になります。 ■URLのエンコードについて 下記PHPで書いてありますが、google、Firefoxでは正しく移動(表示)できますが IEでは正しく表示できません。 $body .= "<A href='search.php?maker=$col[maker]'>" . substr($col[maker], 0, 50) ."</A> " . "($col[cnt]件)"; 文字コードはEUC-JPですが IEでもできるように教えていただけないでしょうか? 大変困っております。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 一般的な方法で『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
  • urlにエンコードしたい。

    urlにエンコードしたい。 まったくの初心者で見よう見まねでやっています。下記を実行したのですが、 while ($col = mysql_fetch_array($rst)) { $body .= "<LI><A href='search.php?comment1=$col[comment1]'> $col[comment1]</A> " . "($col[cnt]件)"; } http://**.**.**/search.php?comment1= ほげほげ になってうまくいきません。 この ほげほげを%A4%DB%A4%B2%A4%DB%A4%B2のようにするには いろいろググってurlencodeをすれば良いのかな?と思い、いろいろ試しましたが うまくいきませんでした。上の文に何を足せば、どう書けばうまくいくのでしょうか? それとも何か違う方法があるのでしょうか? ご存知の方ご教授よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • URLエンコードをperlで

    ieのjavascriptでescapeすると おはよう ⇒ %u304A%u306F%u3088%u3046 となりますが、これをperlなどで同じように エンコードする方法はありませんでしょうか?

    • ベストアンサー
    • Perl
  • エンコードについて

    「タイトル」というテキストを 下記のコードでエンコードすると、 # 検索用エンコード $encode = $code; $encode =~ s/(\W)/'%' . unpack("H2", $1)/eg; $encode =~ tr/ /+/; %83%5e%83C%83g%83%8b となりますが、 %E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB のようにしたいのです。 上記の検索用エンコードをどのように書き換えればできるでしょうか。 似たような記事もありましたが、明確な答えがありませんでした。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • Perl
  • URLエンコード  文字数について

    URLエンコード  文字数について <a href="mailto:info@example.com?subject=%96%e2%82%a2%8d%87%82%ed%82%b9">メールはこちらへ</a> などHTMLの記述で文字化けを防ぐために下記文字列のように %96%e2%82%a2%8d%87%82%ed%82%b9 日本語をエンコードしていますが、ある一定以上の文字数を入力すると、そのリンクをクリックしてもメールソフトが起動しません。 文字数の制限があるのでしょうか? 詳しい方いらっしゃいましたら教えて下さい。 宜しくお願いします。

    • ベストアンサー
    • HTML
  • 英文字を含む文字列のURIエンコードについて

    宜しくお願いいたします。 以下のサイトでHTMLソースの一部をURIエンコードして、javascriptでデコード・書き戻して利用する方法についての記述を見つけました。 http://ameblo.jp/azuki-milk-lush/entry-10559249105.html このページには、以下のようにエンコードされている事例が掲載されています。 document.write('<a href="mailto:メールアドレス">お問い合わせ</a>'); ↓ %64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%27%3C%61%20%68%72%65%66%3D%22%6D%61%69%6C%74%6F%3A%73%75%70%70%6F%72%74%40%73%74%61%2D%6C%6F%67%2E%63%6F%6D%22%3E%E3%81%8A%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B%3C%2F%61%3E%27%29%3B 上記では一見アルファベットも識別できないような形でエンコードされています。 早速このページで紹介されている変換サービスサイトで、実験をしてみたのですが、同じような結果にはなりません。 http://itsd210.s24.xrea.com/ja/urlencode/ 【▼こうなってしまう▼】 document.write('<a href="mailto:メールアドレス">お問い合わせ</a>'); ↓ document.write('%3Ca%20href%3D%22mailto%3A%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%22%3E%E3%81%8A%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B%3C%2Fa%3E')%3B 一見してアルファベットも識別できないような変換はどのようにすれば行えるのでしょうか? 詳しい方がいらっしゃいましたら、ご教示願います。 何卒、宜しくお願い申し上げます。

    • ベストアンサー
    • HTML