• ベストアンサー

getで日本語を受け取りたい

リンクからgetで日本語を送信して、javascriptで受け取る方法はありますか? 文字化けするのでdecodeURIComponentでデコードしようとしましたがうまくいきません 送信するリンクのurlはこんな感じです http://hoge.net?id=1&name=なまえ 受け取る側のHTMLには、javascriptで var NAME=decodeURIComponent(NAME); としています

  • flash0
  • お礼率97% (297/306)

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

送信する側でエンコードしないと無理

flash0
質問者

お礼

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

関連するQ&A

  • PHPからjavascriptへGETで値を渡すとき

    初歩的な質問で失礼いたします。 PHPからjavascriptへGETで値を渡すときにマルチバイト文字が文字化けしてしまいます。 javascriptのjQueryというライブラリを利用しています。 具体的には、 -------------- test.js -------------- var url = 'test.php?code=' + code; $.get(url, function(data){ alert(data); } -------------------------------------- --------------- test.php ------------- $input = $_GET['code'];  ・・・mysqlの処理・・・ echo $output; --------------------------------------- という処理をしています。 test.js → test.phpへ渡す値はマルチバイトではないので問題ないのですが、 test.php → test.jsへ返す値はマルチバイトで文字化けしてしまいます。 php側でrawurlencode関数でエンコードしてから、javascript側でdecodeURI関数を使用してデコードしたのですが、うまくデコードできませんでした。 恐らくデコードの仕方が悪いんだと思うんですが。。。 分かりにくい説明で恐縮ではございますが、ご回答をお願いいたします。 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • Ajax・jQueryでGET時にIEで文字化け

    Ajax・jQueryで日本語をGETするとき、IEで文字化けします。 (Firefox,chromeでは文字化けは起こりません。IE6/7/8で確認すると文字化けします) どのようにしたら文字化けが起こらなくなるか教えていただければと思います。 環境 PHP:5.1.6 サーバー・HTMLの文字コードはUTF-8 下記のようなリンクを作り、「jquery.url.js」でパラメータを取得しています。 <a href="./test.php?keyword=テスト&cate=1"> (実際には下記のソースに示しますが、テストの文字はurlencordしています。) 【javascript部分】 <script type="text/javascript" src="jquery.url.js"></script> <script type="text/javascript"> $().ready ( function() { $('#sample-get').find('a').click ( function() { var url = $.url ( $(this).attr('href') ); $.ajax ({ type: 'GET', url: 'send.php', cache: false, data: url.attr ( 'query' ), success: function ( data, dataType ) { $('#test').html ( data ); }, error: function ( XMLHttpRequest, textStatus, errorThrown ) { this; alert('Error : ' + errorThrown); } }); return false; }); 【HTML(PHP)部分】 $keyword='テスト'; $keyword=urlencord($keyword);//urlエンコード echo<<<EOF <div id="sample-get"> <a href="./test.php?keyword=$keyword&cate=1"><img src="images/sample1.png" alt="sample1" height="200" width="200"></a> </div> EOF; 【PHP部分(send.php)】 <?php echo $_GET['keyword']; echo urldecord($_GET['keyword']); echo $_GET['cate']; ?>

    • ベストアンサー
    • AJAX
  • javascriptでGETパラメータを扱う

    javascript初心者です。 javascriptでURLをGETパラメータとして取得して、その値を HTMLのaタグのリンク先に指定しようとしています。 こんな感じに出来たらいいと思っています。 ↓ <a href="[GETパラメータで取得したURL]">[GETパラメータで取得したURL]</a> GETパラメータの取得は自力で調べて下記のように記述すればできることがわかりましたが、 aタグのリンク先に指定する記述方法が分かりません。 助けてください。 よろしくお願いします。 <script type="text/javascript"> function getUrlVars() { var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; } </script>

  • JS→PHP「リンクget送信」$.getの違い

    javascriptからPHPへ変数を渡したいのですが、 リンクURLに付与して、PHP側で$_GET[" "]で受け取るのと、 jQuery「$.get」で宛先にphpファイル指定するのとでは、何が違うのでしょうか? 何となく、「$.get」の方が良さ気な感じもするのですが… エラー処理? やってることは、どちらも同じget送信という理解で良いのでしょうか?

  • getがらphpに日本語を送ったとき化け文字に

    <?php ・・・・・・・・ $mousikomi_hi1 = $_GET["mousikomi_hi1"]; $name =$_GET["name"];// "田中"; $sql = "SELECT $mise.kokyaku_no FROM $mise WHERE name='$name' AND DATE_FORMAT(mousikomi_hi1,'%Y/%m/%d') ='$mousikomi_hi1'"; mysql_query("set names utf8"); $rows = mysql_query($sql, $sv) or die("mysql query Error"); $row = mysql_fetch_array($rows, MYSQL_ASSOC); ・・・・・・・・・ ?> var mousikomi_hi1 = $F("mousikomi_hi1"); var name = document.addE.name4.value; //alert(name); xhrObj.open("get", "add_meigara.php?hannbaitenn="+hannbaitenn+"&mousikomi_hi1="+mousikomi_hi1+"&name="+name); getがらphpに日本語を送ったとき $name =$_GET["name"] に化け文字?(□/□□)になり SQLの検索ができません 直接 $name = "田中";とすると 検索できます 初心者で、あまりわかりませんが、よろしくお願いします。

    • 締切済み
    • PHP
  • PHPのGETとPOSTの処理を学習中なのですが、valueに日本語が

    PHPのGETとPOSTの処理を学習中なのですが、valueに日本語が入力されていた場合の処理について分からない点があります。 POSTやGETから送信された日本語の値がどの時点で再び日本語に変換されているのかということです。 たとえば以下のようなphpファイルにブラウザからアクセスした場合、 <?php $static = $_GET["static"]; print $static; ?> <form method="GET"> <textarea name="static"> 静的 </textarea> <input type="submit" name="submit_button" value=" 送 信 " /> </form> ブラウザのアドレスバーには"?static=静的%0D%0A&submit_button=+送+信+"という文字列が表示されています。 この"%0D%0"というのは、URLエンコードされた文字列らしいのですが、上記のphpファイル上の"print $static;"部分の表示ではしっかりと日本語として表示されています。 私は上記のソース上のどこの部分でURLエンコードされた文字列が再び日本語として表示されるよう変換されているか分かりません。 何卒ご教授頂けますようお願い致します。

    • ベストアンサー
    • PHP
  • POST送信かGET送信か

       ------------------------------------------ <SCRIPT language="JavaScript"><!-- function GoPage(url, id){ document.form.action = url; document.form.id.value = id; document.form.submit(true) } // --></script> <!--中略--> <input type="submit" name="submit" value="送信" onClick="javascript:GoPage("a.php", "1")">    ------------------------------------------    上記のような処理を書いた場合、 遷移先である a.php で id(値:1)を取得する時は POSTで受け取るのですか?それともGETでしょうか?   

  • GET値が消えてしまう

    どうも、Flash初心者です。 やりたい事は、ボタンをクリックした時に、 GET値をつけたURLに遷移したいのですが、 やってみると、遷移はしますが、GET値が消えてしまいます。 actionScript2.0で、以下の様に書きました。 on (release) { var firstName:String = "Gus"; var lastName:String = "Richardson"; var age:Number = 92; getURL("check_1.html", "_self", "GET"); } パブリッシュプレビューから、ボタンをクリックすると、 画面が遷移し、GET値も付いているのですが、 Flashが埋め込まれているHMTLからボタンをクリックすると、 画面は遷移しますが、GET値が付かない状態です。 HTMLに問題があるのかもしれませんが、 調べても辿り着きませんでした。 どなたか分かる方、教えてください。

    • ベストアンサー
    • Flash
  • GET送信

    HTMLを最近はじめました。HTMLのみを使用して、GET送信で送信した値を別ページで表示させたいのですが、方法がわかりません。 URLを見て送信だけはできているようなのですが… 例 A.htmlでsubmitでGET送信 B.htmlで受信した値を表示(表示する際はテキストボックスでも、ただ表示するだけでも可です。) もしかしてHTMLのみだと無理ですか?

    • ベストアンサー
    • HTML
  • 日本語をGETで渡す場合URLエンコードは必要?

    下記の例のように全角文字をaタグのGETメソッドでPHPに渡し、その全角文字で検索した 結果を表示するスクリプトを製作中なのですが、 日本語内に空白等もないですし、あらかじめ検索する語が決まっているので ブラウザはIE9とFIREFOX9.0.1で試しましたが両方とも文字化けすることなくOKでした。 このスクリプトを万人向けに公開する場合、URLエンコード必要なのでしょうか? 例: <a href="http://hoge.php?word=日本語">日本語</a>

    • ベストアンサー
    • PHP

専門家に質問してみよう