• ベストアンサー

リファラー情報のエンコードを直したい

Webページ上でリファラー情報を確認したいです。 <Script language="JavaScript"> document.write(document.referrer); </Script> と現状では記述していますが、これだとYahoo!やGoogleから入ってきたユーザのリファラー情報が文字化けしてしまいます(UTF-8)のため。 ですのでUTF-8で文字化けになった情報を、Webページ上で通常の日本語表示に戻してあげたいのですがどうしたら良いでしょうか?

  • kumar
  • お礼率21% (19/87)

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

  • ベストアンサー
  • arexis
  • ベストアンサー率66% (66/99)
回答No.1

文字化けの意味がURLエンコードの事なのか、文字コードの事なのか微妙ですが、 document.write(decodeURI(document.referrer) ); で試してください。

kumar
質問者

お礼

ありがとうございました。文字コードの化けが解消しました!

関連するQ&A

  • ページは表示されたけれど、エラーが出ます。

    過去の質問を調べたのですが、見つけられなかったので、質問させてください。 自社サイトのページを開くと、ステータスバーに 「ページが表示されましたが、エラーがあります。」と表示されました。 エラーの詳細は下記のとおりです。 ライン:18 文字:51 エラー:')'がありません コード:0 ソースに問題があるのかと思ったのですが、 下記がそのソースです。 <SCRIPT language="javascript" type="text/javascript" src="../js/common_lib.js"></SCRIPT> <SCRIPT type="text/javascript" src="../js/css_junction2.js"></SCRIPT> <SCRIPT language="JavaScript"> <!-- document.write("<img src='http://700700.jp/acc/acclog.cgi?"); document.write("referrer="+document.referrer+"&"); document.write("width="+screen.width+"&"); document.write("height="+screen.height+"&"); document.write("color="+screen.colorDepth+"' alt="">"); // --> </SCRIPT> どこをどう直せばよいのかよくわからないので、 もしお分かりの方がいらっしゃいましたら、 お教えいただけますでしょうか? よろしくお願いいたします。

  • Cookie情報の取得と表示

    特定のCookieを取得し、ページに表示させるスクリプトについて質問させていただきます。 現在、Cookieに保存されたハンドルネーム(2バイト文字も含む)の情報を取得し、 ページ上に表示させるスクリプトを作成しています。 Googleで検索した参考サイトを参考に以下のスクリプトを試してみましたが、 2バイト文字(”ああああ”等)については表示されないか、”%54%454%121%”のような文字化けになってしまいます。「test」のような1バイト文字については普通に表示されます。 いろいろ調べた結果、システムからCookieに保存する際に、文字コードがUTF8ではなく、SJISで保存されているため、「test」などの1バイト文字は普通に取得できますが、「ああああ」などの2バイト文字についてはバイナリデータとして扱われ、取得できない?ようになっているようです。 単にシステムからCookieに保存する際に「UTF8」で保存すればいいのかもしれませんが、可能ならJavascriptの何らかの処理で解決できればと考えております。 どなたかお分かりになれば、ご教授いただけませんでしょうか? 以下が現在テストしているスクリプトコードです。 <script language="JavaScript"> <!-- function GetCookie(name){ var st=""; var ed=""; var temp=""; if (document.cookie.length>0){ st=document.cookie.indexOf(name + "="); if (st!=-1){ st=st+name.length+1; ed=document.cookie.indexOf(";",st); if (ed==-1)ed=document.cookie.length; temp = document.cookie.substring(st,ed); } } decodeURIComponent(temp); return ""; } // --></script> <script language="JavaScript"> <!-- User = GetCookie('fmcHN'); // ハンドルネーム取得 document.write(User,"さん"); // --></script>

  • document.referrer防御

    webページを閲覧する際に、匿名性を確保するためにproxomitronを使ってreferer(referrer)、user-agent 等を偽装しております。 が、ホームページにjavascriptのdocument.referrerを使って、「あなたは、http://~からいらっしゃいました」などとプライバシー無視のようなコメントを載せる方がいらっしゃいます。  IEのjava関係をブロックするのも面倒なので、document.referrerを遮断できる方法はないでしょうか。 できれば、偽装(違う文字等をいれて)びっくりさせてやりたいくらいです。 よろしくお願いします。

  • referrer ってどうなってるの?

    WEBページをつくって公開してるもんですが・・・ さいきん奇妙な現象に出会ってます。 WEBサイト内の 仮称 A.html に <a href="B.html">Bページ</a> と記述して仮称 B.html へのリンクをはっています。 その B.html には Javascript が書かれてあって、document.referrer を使ってユーザがどこをクリックして B.html に来たかを、 cgi によるアクセス解析により知ることができるようにしています。 何人かのユーザさんが A.html から B.html へたびたび飛んできます。 それは document.referrer が A.html であることから分かります。 さて、ここからですが、ある理由があって A.html にある <a href="B.html">Bページ</a> の <a></a> タグを外しました。 これでどのユーザも A.html から B.html へは来れなくなるはずです。 ところが、外したあとも、あるユーザさんは B.html を見にきてるんです。 しかもアクセス解析によれば、 document.referrer は A.html のままなんです。 奇妙だと思いませんか? 考えられる原因は何でしょう?

  • JavaScriptの値をPHPで取得

    こんにちわ。よろしくお願いします。 いま、JavaScriptで取得した値を同一ページ内でPHPの変数に入れることはできないでしょうか? 例えば <SCRIPT language="JavaScript"> <!-- document.write(document.referrer); // --> </SCRIPT> というのがあったとして これの値をPHPの変数に入れることができればなぁっと考えています。 自分的にには無理っぽいかなって思っているのですが、 もしかしたらなにか方法があるかもしれないと思い 質問させていただきました。 なにか方法がわかる方がいらっしゃいましたらアドバイスお願いします。

    • ベストアンサー
    • PHP
  • Javascriptの変数をPHPに渡したい

    環境  サーバLinux、Apache2.0.47、PHP4.3.2で使用しています 質問  リンク元の取得のためgetenv("HTTP_REFERER")を使っていますが情報が取得できません。  クライアント側のファイアウォール(ノートンなど)が無効になっているときにしか情報が取得できませんでした。  Javascriptのdocument.referrerを使ったところ、ファイアウォール関係なく情報が取得できました。  ログ保存のためにPHPの変数にdocument.referrerを渡したいのですがどのようにすればよいのでしょうか?  下のように書いたところブラウザには正常に表示されましたが、  ログはJavascriptの制御文そのものが保存されました。  $link="<SCRIPT language='JavaScript'><!--    document.write(document.referrer);    --></SCRIPT>"; よろしくお願いします。

    • ベストアンサー
    • PHP
  • JavaScriptのwindow.openでリファラーが取得できない。

    <SCRIPT language="JavaScript"> <!-- function OpenWin(){ window.open("sample.cgi,"new","width=500,height=250"); } // --> <A href="#" onClick="OpenWin()">オープン</a> 上のようにsample.htmlのページ内にwindow.openのJavaScriptを書いています。 sample.cgi内に$ENV{'HTTP_REFERER'}を埋め込んでいるのですがリファラーが取得できません。 window.openの場合はリファラーは取得できないのでしょうか?

    • ベストアンサー
    • CGI
  • リファラーの取得方法

    いつもお世話になっております。 今回も大変困ってしまし、質問をさせていただきます。 JavaScriptを使用してリファラを取得したいと考えており、 ネットや本を調べ、以下のように記述し、「Test.html」という名前で保存しました。 <script type="text/javascript"> //クッキーへ書き込み function SetCookie() { //リファラの取得 urlstring = document.referrer; //表示 window.alert(urlstring);           //クッキーへ書き込み document.cookie = "URL=" + escape(urlstring) + "; " + "expires=Fri,31-Dec-2030 23:59:59; "; } //呼び出し SetCookie(); </script> 「Test.html」と同じドメイン(サーバ)にあるWebページを表示した後、「Test.html」を表示するとリファラを取得でき、alertで表示できました。 しかし、「Test.html」異なるドメイン(このWebページがおいてないサーバ)のページを表示した後に「Test.html」のWebページにアクセスしても、リファラが取得できず、alertで表示できませんでした。 サーバが違っても、リファラは取得できるようなのですが、 どうしてこんな事態になったのか、どうにもわかりません。 どこか違っているのでしょうか? どうか教えてください。

  • このタグをおしえてください

    辞めた社員が保存していました。 なんのタグでしょうか? <SCRIPT Language="JavaScript"> <!-- document.write("<img src='http://www.abc.com/acc/acclog.cgi?"); document.write("referrer="+document.referrer+"&"); document.write("width="+screen.width+"&"); document.write("height="+screen.height+"&"); document.write("color="+screen.colorDepth+"'>"); // --> </SCRIPT> 御手数ですがよろしくおねがいします。

    • ベストアンサー
    • HTML
  • CGIの設置で、タグを記入した所に×が表示される

    アクセスログCGIを設置したのですが、アクセスログを取りたいページに下記のタグを記入したのですが、一つはタグを記入した所に×が表示され、もう一つは×が表示されません。×が表示される方のCGIを私用したいのですが、×が表示されないようにするにはどうしたらよいのでしょうか(×とは画像が表示されない時みたいな感じです) ×が表示される <script language="JavaScript"> var REF=window.document.referrer; document.writeln ("<img src=\"" + "http://.../access/acclog.cgi?ref="); document.writeln(REF); document.writeln("\" border=\"0\">" ) ; </script> ×が表示されない <SCRIPT Language="JavaScript"> <!-- document.write("<img src='http://.../accchk/access_check.cgi?"); document.write(document.referrer+"' width=1 height=1>"); //--> </SCRIPT>

    • 締切済み
    • CGI

専門家に質問してみよう