• ベストアンサー

検索後のurl表示窓に出る文字列を表す「%E7%8C%AB」などを変換

ヤフーなどで検索した後のURLで検索キーワードが %??%??などに変換されて表示していますが、 これを元通りの文字列に戻すにはどうしたら良いでしょうか? 「漢字コード」について検索してみたのですが、みつかりませんでした。 例えば Dim a as string = "%E7%8C%AB" を「猫」に戻す式を教えて頂きたいです。 よろしくお願いします。

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

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

VB.NETでのサンプル(UTF-8の場合です、それぞれの文字コードが違う場合は、指定するEncodeも変える必要があります) ---------------------------------------------------------------- Imports System Imports System.IO Imports System.Text Imports System.Web.HttpUtility '/r:System.Web.Dll Class decodeSample Shared Sub Main() Dim a As String = "%E7%8C%AB" Dim str As String = UrlDecode(a, Encoding.GetEncoding("UTF-8")) Console.WriteLine(str) End Sub End Class

popopompom
質問者

お礼

ご回答ありがとうございます。 早速試させて頂きました。 Imports System.Web.HttpUtility '/r:System.Web.Dll とか UrlDecode の部分に波線が付いてしましましたが、 重要なキーワードがいろいろわかりましたので、 調べていろいろ試してみたいと思います。 ありがとうございます。

その他の回答 (2)

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

>UrlDecode >の部分に波線が付いてしましましたが、 それは、名前の解決ができてないということです。 ソリューションエクスプローラーから「参照設定」を右クリックして 「参照の追加」をして下さい。 追加するのは、System.Web.Dllです サンプルはコンソールアプリなので、コマンドプロンプトからコンパイルできます。 ファイル名がconv.vbだとすると vbc /r:System.Web.Dll conv.vb でコンパイルできます。

popopompom
質問者

お礼

出来ました! 「猫」と出ました。 %C7%ADだと?となってしまいました。 今ヤフーで試してみたら%C7%ADのようにでましたが、 前回質問させて頂いた時は http://search.yahoo.co.jp/?fr=top の検索窓で試したようです。 こちらですと%E7%8C%ABと出ました。 少し気がかりな感じですがプログラムを進めてみます。 いつも的確なお返事をありがとうございます。

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

ヤフーで猫で検索を掛けてみましたけど %C7%AD になりました。これは、文字コードEUCで「猫」です。 >"%E7%8C%AB" は、本当に猫で検索した時のものなんでしょうか? ユニコード(UTF-8)みたいですがとりあえず、ユニコードということでいいんでしょうか?

関連するQ&A

  • 最終列の列番号を列文字に変換することはできますか?

    例えばaaaがある列を探し、その列番号は4で列文字がDですが、 列番号から列文字をvbaで取得する方法はありますか? Sub Sample() Dim i As Long Dim Colmoji As String i = Rows(1).Find(What:="aaa", LookAt:=xlWhole).Column Colmoji = i 'ここで列文字に変換したい MsgBox i & "の列文字は" & Colmoji & "です" End Sub このようなコードを作ってみたのですが列文字に変換する方法がわかりません。

  • VB6で配列を文字列に変換する方法?

    VisualBasic6を使っております。 Dim ary() As Byte Dim s as String 配列を文字列に変換したり、文字列を配列にしたいのですが どのようにすれば良いのでしょうか?

  • 正規表現を使った文字列の検索及び置換について

    正規表現の検索及び置換について質問させていただきます。 下記のような文字列があったとします。 「私は、<gaiji gaijisyurui="0001" gaijicode="F040" /><gaiji gaijisyurui="0002" gaijicode="F041" />で、 <gaiji gaijisyurui="0003" gaijicode="F042" />です。」 この文章から  <gaiji gaijisyurui="0001" gaijicode="F040" />  <gaiji gaijisyurui="0002" gaijicode="F041" />  <gaiji gaijisyurui="0003" gaijicode="F042" /> の部分を検索して、それぞれ  <外字0001F040>  <外字0002F041>  <外字0003F042> と置き換え、最終的には、  「私は、<外字0001F040><外字0002F041>で、<外字0003F042>です。」 という文字列にする関数を作成したいと思っておりますが、どのようにソースを作ればよろしいのでしょうか? アドバイスや具体的なソースコードをいただけると非常に助かります。 現在、途中までソースを作成しているのですが、文字数制限でソースの半分も入りきらなかったため大雑把に書かせていただきます。 ※※※以降の処理が分かりません。 検索結果に対して文字列置換を行っても元の文字列内の置換にはならない? Private Function GaijiChange(ByVal pNaiyo As String) As String Dim wNaiyo As String = "" ' 置換後文字列 Dim wGaijisyurui As String = "" Dim wGaijicode As String = "" Dim wChangeWord As String = "" Dim wChangeStr As String = "" Dim Work As String = "" ' 正規表現で<gaiji>タグを検索 Dim wSeikiHyogen As String wSeikiHyogen = "<gaiji gaijisyurui=\" & """" & "[0-9a-zA-Z]{4}\" & """" & " gaijicode=\" & """" & "[0-9a-zA-Z]{4}\" & """" & " />" '正規表現 Dim wRegex As New System.Text.RegularExpressions.Regex( _ wSeikiHyogen, System.Text.RegularExpressions.RegexOptions.IgnoreCase) ' 文字列にに含まれる<gaiji>タグを全て検索 Dim wMc As System.Text.RegularExpressions.MatchCollection = wRegex.Matches(pNaiyo) For Each m As System.Text.RegularExpressions.Match In wMc ' 検索結果からgaijisyuruiを取得 wGaijisyurui = ' 検索結果からgaijicodeを取得 wGaijicode = ' 置換文字列作成 wChangeWord = "<外字" & wGaijisyurui & wGaijicode & ">" ' 検索結果を置換 ' ※※※ Next Return wNaiyo End Function 以上、宜しくお願いいたします。

  • ADOでテーブルにハイパーリンクを追加したい(アドレスと表示文字列は別)

    アクセスのtblのURLフィールドに 表示文字列→aaa URL→http://www.yahoo.co.jp/ を追加したいのですがうまくいきません。 (URLフィールドのデータ型はハイパーリンク型です) Sub test() Dim moji As String Dim URL As String Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Set cn = New ADODB.Connection cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "C:\Documents" & "\access.mdb" Set rs = New ADODB.Recordset rs.Open "tbl", cn, adOpenStatic, adLockPessimistic moji = "aaa" URL = "http://www.yahoo.co.jp/" rs.AddNew rs("URL") = "#" & moji & "#" rs("URL") = "#" & URL & "#" rs.Update Set rs = Nothing Set cn = Nothing End Sub を実行すると 結果は 表示文字列もアドレスも「http://www.yahoo.co.jp/」になってしまいます。(そりゃそうか) どうすれば 表示文字列→aaa URL→http://www.yahoo.co.jp/ が実現できるのでしょうか? よろしくお願いします。 (ヴァージョンは2003です)

  • ヤフーで検索したときの文字コードを読めるように変換したい

    こんにちは。 ヤフーでキーワード検索すると、たとえば http://search.yahoo.co.jp/bin/search?p=%B8%A1%BA%F7&src=top というように「%B8%A1%BA%F7」という風になりますよね? (上の場合は「検索」という文字がこのように表示されます) この文字を普通に読めるように変換するにはどうしたらよいでしょうか? 文字コードはおそらくEUCだと思うのですが、 ファイル変換ソフトはありますが、文字列だけを変換する方法はなかなかありませんでした。 詳しい方お願いいたします。

  • 文字列の変換について

    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
  • VBAでワイルドカードを使った文字列検索

    初めて投稿いたします。 環境は、WinXP Access2000 下記のVBAモジュールで、文字列検索がヒットしません。 数字の比較でヒットするのはナゼでしょうか? ちなみに、変数に導入したのは、全角半角どちらも入れてみました。 この疑問・・・どなたか解決お願いします。 Sub TEST() Dim AAA As String Dim BBB As String Dim YYY As String AAA = "0" BBB = "2" YYY = AAA & BBB Select Case YYY Case "0*" MsgBox "ココを通り過ぎないで!" Case "15" MsgBox "やったね" Case Is > 0 MsgBox "なぜかココでヒットします??" End Select End Sub

  • エクセルの検索窓内で漢字が勝手に変換される

    エクセルの問題じゃないような気もしますが、 コードの中で文字列の検索をするため、Ctrl+Fを押して検索窓を出しました。 「検索する文字列」欄に日本語を入力したのですが、 Spaseキーを押して目的の漢字に変換後、Enterを押して確定するとその瞬間まったく別の漢字に変化します。 例えば、「失敗」は「飼」に、「失う」は「獅」に、「渋る」は「盾」に。 変化しない漢字もあります。 今作成しているコード(のファイル)に問題があるのか、 と思って新規作成した空っぽのエクセルファイルのコード内で同様に操作してみましたが、 やっぱり同じ現象が出ます。 検索窓に直接コピペすれば検索は可能なので、特に困っているわけじゃないんですが、 何が原因でしょうか。

  • 検索エンジンの検索結果で表示されるURLを文字で表示したい。

    ちょっとわかりにくいタイトルかもしれませんが、、よろしければ最後まで質問内容を読んでいただければ幸いです。 Yahoo検索エンジンでビリーズブートキャンプと検索した場合の検索結果です。 http://search.yahoo.co.jp/search?ei=UTF-8&fr=sfp_as&p=%E3%83%93%E3%83%AA%E3%83%BC%E3%82%BA%E3%83%96%E3%83%BC%E3%83%88%E3%82%AD%E3%83%A3%E3%83%B3%E3%83%97&meta=vc%3D 通常緑色で書かれている部分はそのページのURL、、となっているとおもいますが、、 ビリーズブートキャンプ.通販案内.biz といった結果が沢山拝見できます。 日本語URL、、?と思ってとりあえず訪問してみますと、、URL欄には http://xn--nckza5b1bqi7f6b0e1dc.xn--v6qt86cixzx4c.biz/ と表示されていました。 これらの記号で日本語文字を表示しているとおもうのですが、どのようにすればこのような事ができるのでしょうか? お分かりの方がおられましたらご回答よろしくお願いいたします。

  • JSPでUTF-8の文字列表示

    JSPでUTF-8の文字列を表示することができず困っています。 HTMLの<form>でPOSTした任意の文字列をjspでUTF-8の文字列に変えたいのですが、 いろいろ試したのですがどうもうまくできません。 jspは全然くわしくないので困ってます。 以下のようなHTMLで <body> <h1 style="background:#cccccc;width:60%">文字コード変換したい文字列を入力</h1> <br> *UTF-8に変換します。 <form method="POST" action="moji2.jsp"> <textarea name="enco" cols="60" rows="7"></textarea> <br /> <input type="submit" value="変換" /> </form> </body> 以下のようなJSPファイルで <%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %> <%@ page import="java.net.*" %> <% request.setCharacterEncoding("Windows-31J"); %> <% String en = request.getParameter("enco"); String ren = URLEncoder.encode(en); %> <%=ren %> となまぁただUTF-8の文字列を表示をする勉強をしていたのですがいろいろかえてもShift_JISでエンコードされた文字列が表示されます。 例)あいうえお で入力すると %82%A0%82%A2%82%A4%82%A6%82%A8 やりたいことはこのサイトと同じことなんです http://www.tagindex.com/tool/url.html 例)あいうえお %e3%81%82%e3%81%84%e3%81%86%e3%81%88%e3%81%8a 最終目標は任意の文字列をUTF-8に変換して、ヤフーの形態素解析をすることです。初心者ですがよろしくお願いします。。

    • ベストアンサー
    • Java

専門家に質問してみよう