• ベストアンサー

複数行の文字列を一括してURLエンコードするには?

こんにちは。 例) エンコード前 今日の天気 エンコード後(ECU-JP) %ba%a3%c6%fc%a4%ce%c5%b7%b5%a4 の様なURLにできる文字列に変換したいのですが、元となるデータが多数ありまして手作業で行うのが大変です。 EXCELで一括変換する方法や、その他一括変換できるようなソフトやサービスをご存じでしたら是非教えてください。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

http://nurucom-archives.hp.infoseek.co.jp/digital/escape-codec-library.html の"ecl.js"を使えば簡単です。 上記サイトから"ecl.js"をダウンロードして 同じフォルダに以下の様なHTMLファイルを作成します。 ---------------------------------------------------------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS"> <title>EUC-JP ESCAPE</title> <script type="text/javascript" src="ecl.js"></script> <script type="text/javascript"><!-- function conv(){ var lines=document.getElementById("in").value.split("\r\n"); var out = document.getElementById("out"); var len = lines.length; for(var i=0;i<len;i++){ out.value += EscapeEUCJP(lines[i]) + "\r\n"; } } //--> </script> </head> <body> <textarea id="in" cols="80" rows="25"></textarea><br> <button type="button" onclick="conv()">変換</button><br> <textarea id="out" cols="80" rows="25"></textarea> </body> </html> ---------------------------------------------------------------- 上の欄に変換する文字列を入力(ペーストして)変換ボタンを押すと 下の欄に変換した結果が表示されます。

hayase
質問者

お礼

ありがとうございます。 大変たすかりました。

関連するQ&A

  • 複数行URLエンコードができるCGIまたはTOOL(エディタなど)を探しています。

    よろしくお願い致します。 題名にもありますが、日本語文字列をURLエンコードできるTOOL、またはCGIはありませんでしょうか? JavaScriptでもOKです。 例) あいうえお→ %82%A0%82%A2%82%A4%82%A6%82%A8 東京都→ %93%8C%8B%9E%93s といった具合に変換したいのです。 参考のサイトしては、 http://www.geocities.co.jp/SilkRoad/4511/vb/urlenc.htm にある、 http://www.geocities.co.jp/SilkRoad/4511/vb/sample/vbsurlen.htm のような感じで、複数行を一括でURLエンコードできると良いです。 私はあるデータベースのサイトを運営しており、某地図サイトの地図リンク機能を付け加えようと思ったのですが、数千件のデータを扱っているので1つ1つ変換するのも膨大に時間がかかってしまうので、できればCGIやTOOLで一括に(データを複数に分割して変換しても良いですが)変換できたら良いなと思っています。 データベースの検索にはCGIROOMさんの所で配布されている、「検索専用データベースVer1.44」を使用しています。 (CGIROOM:http://cgiroom.nu/) 検索後の出力時に、URLエンコードを行う機能をつけれればベストなのですが、私の技量では付け加えれるだけの知識はありません。 もし簡単にこのような機能を付け加えることができるのであれば、御教授お願い致します。 いろいろとサイトやTOOLを探してみたのですが、URLデコードがはるかに多く(当然のことですが)見つけることはできませんでした。 今後、サイトをより便利に使いやすくするためにも、地図リンク機能を是非付加えたいと思っています。 長くなってしまいましたが、よろしくお願い致します。 (もしこちらで回答されるのに支障がありましたら、メールでの回答でも承ります。)

  • 複数行URLエンコードができるCGIまたはTOOL(エディタなど)を探しています

    よろしくお願い致します。 題名にもありますが、日本語文字列をURLエンコードできるTOOL、またはCGIはありませんでしょうか? JavaScriptでもOKです。 例) あいうえお→ %82%A0%82%A2%82%A4%82%A6%82%A8 東京都→ %93%8C%8B%9E%93s といった具合に変換したいのです。 参考のサイトしては、 http://www.geocities.co.jp/SilkRoad/4511/vb/urlenc.htm にある、 http://www.geocities.co.jp/SilkRoad/4511/vb/sample/vbsurlen.htm のような感じで、複数行を一括でURLエンコードできると良いです。 私はあるデータベースのサイトを運営しており、某地図サイトの地図リンク機能を付け加えようと思ったのですが、数千件のデータを扱っているので1つ1つ変換するのも膨大に時間がかかってしまうので、できればCGIやTOOLで一括に(データを複数に分割して変換しても良いですが)変換できたら良いなと思っています。 データベースの検索にはCGIROOMさんの所で配布されている、「検索専用データベースVer1.44」を使用しています。 (CGIROOM:http://cgiroom.nu/) 検索後の出力時に、URLエンコードを行う機能をつけれればベストなのですが、私の技量では付け加えれるだけの知識はありません。 もし簡単にこのような機能を付け加えることができるのであれば、御教授お願い致します。 いろいろとサイトやTOOLを探してみたのですが、URLデコードがはるかに多く(当然のことですが)見つけることはできませんでした。 今後、サイトをより便利に使いやすくするためにも、地図リンク機能を是非付加えたいと思っています。 長くなってしまいましたが、宜しくお願い致します。 (もしこちらで回答されるのに支障がありましたら、メールでの回答でも承ります。)

    • ベストアンサー
    • CGI
  • URLデコードした文字列からURLエンコード

    よろしくおねがいします。 質問掲示板の中にある検索で質問掲示板の中身を検索した時に、同時にGoogleでも検索しようとおもっています 初めにフォームから得られたクエリーをデコードして &jcode'convert(*val, 'sjis'); に変換しました。 これで得た文字列で質問掲示板の中身を検索します。 つぎに、この文字列をエンコードしてGoogleに渡そうと思いましたが、ここでつまずいてしまいました。 &jcode'convert(*sarchword,'euc','sjis'); #---------- $sarchword =~ s/([^\w ])/'%' . unpack('H2', $1)/eg; $sarchword =~ s/(\W)/'%'.unpack("H2", $1)/ego; #---------- #↑このどちらかを行ってから $sarchword =~ tr/ /+/; これでできると検索して出てきたのですが、それでも正しい結果を得ることができず、文字コードの変換も'euc'を'sjis'等といろいろ変換してみてもできずに困っています。エンコードした結果の文字コードがまったく別のコードになってしまうみたいなのです。 たとえば「あいうえお」と検索したときに、上の方法でエンコードすると「%a4%a2%a4%a4%a4%a6%a4%a8%a4%aa」という値になります。 正しい結果を得る方法を教えていただけないでしょうか。 意味がわかりませんでしたら、再度説明いたしますのでよろしくお願いいたします。

    • ベストアンサー
    • Perl
  • 一括文字列変換

    $FORM{'color'} $FORM{'background'} $FORM{'name'} $FORM{'title'} $FORM{'comment'} 上記に文字列(例)「a」が入力された場合に「b」に変換したいのですが、一括で変換する場合は $val =~ s/a/b/g; とすればできます。 ただ、$FORM{'comment'}と$FORM{'title'}には変換を反映させたくないのですが、この場合はどのようにすればいいのでしょうか? $FORM{'color'} =~ s/a/b/g; $FORM{'background'} =~ s/a/b/g; $FORM{'name'} =~ s/a/b/g; と一つ一つ設定するしかないのでしょうか?変換したい文字列が莫大にありますので、出来れば一括でできれば助かります。よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • 日本語の文字列のみを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エンコードされたデータを戻すには

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

  • 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
  • 掲示板に携帯から書き込むとURLエンコード

    PHPを使って掲示板を作成しています。 UTF-8でPHPファイルを作成し、UTF-8のテキストファイルにログをためていく感じで作っています。 PCでは、だいたい正常に動くようになったのですが、携帯電話(au/W61S)からの投稿を試してみたところ、投稿結果がURLエンコードの状態になってしまいました。。。 %82%c6%82%a4%82%b1%82%a4%82%c4%82%b7%82%c6 さらにシフトJISでエンコードされているようでしたので、自分のつたない知識を総動員して、以下のような処理をさせることでなんとか形にはなったのですが、かなり処理としては乱暴な気がしています。 携帯電話からの投稿というのは、URLエンコードとして受け取るしかないのでしょうか(auでしか試していないため、他のキャリアだと別の問題が発生するのでしょうか?) また、下記の方法よりももっとスマートに携帯からの投稿を、表示できる文字列に変換する方法をご存じの方がいらっしゃいましたら、ご教授いただければ幸いです。 よろしくお願いいたします。 <?php //フォーム内に入力された文字列を取得 $test = $_GET['formtxt']; //先頭の文字を抽出 $firsttxt = substr($test,0,1); //先頭の文字列が%であれば、URLデコードを行い、シフトJISからUTF-8に変換する if($firsttxt == "%"){ $test = urldecode($test); $test = mb_convert_encoding($test,'UTF-8','SJIS'); } ?>

    • 締切済み
    • PHP
  • セルに入力されている文字列をUTF-8形式にURLエンコードする方法

    Excelでセルに入力されている文字列をUTF-8形式にURLエンコードする方法を探しています。 下記のURLでShift-JISにURLエンコードできるものは提供されているのですが、 UTF-8に変換できるものは見つかりませんでした。 。 http://www.vector.co.jp/soft/winnt/net/se369699.html どうぞよろしくお願いいたします。

  • C++でURLのエンコード

    文字列をShift-JisとUTF-8とEUCにエンコードしたいのですが、エンコードしてくれる関数とかC++でないですかね? やっぱり1バイトずつ調べて自分で変換するしかないのでしょうか? どなたかご教授お願いします。