GETで特定の値を送信時、文字化けしてしまう - PHPプロ!Q&A掲示板

406

  • 100P

GETで特定の値を送信時、文字化けしてしまう

質問日時 / 2007年3月9日 19:44    回答数 / 3件

Questioner:  hachiya  このエントリーをはてなブックマークに追加 

キーワード / GET    文字化け   

いつも利用させていただいてます。

<a>タグよりGETで直接データを送ろうとしていますが、
受け取った側で文字化けを起こしてしまいます。
コンバートエンコーディングを行っても文字化けは直りません。

例えば
http://~/test.php?categoryID=アパレル

といった感じで値「アパレル」を送信します。
受け取った側では「アパ・E」と表示されてしまいます。

ちなみに「レル」という言葉が文字化けを起こすみたいで、
その他に漢字やカタカナ表記の文字を値として渡しても
文字化けを起こしません。

どなたか解決方法がわかるかたご教授下さい。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┗A01moochomoochoと申します。 GET送信に関してですが、文字
 ┗A01-1hachiyamoochoさんご回答ありがとうございます! とても単
  ┗A01-1-1moochomoochoです。 無事解決したようで何よりです。

回答一覧

並び替え:

A01 満足
answerermoocho [3月10日 01:00]

moochoと申します。

GET送信に関してですが、文字列を渡す場合であれば
urlencode関数(もしくはrawurlencode)をお使いになられた方が良いかと思います。

ですので上記のURLの場合、
  1. $url='http://~/test.php?categoryID='.urlencode('アパレル');
  2. print $url;
という感じで表示されたURLを使用してみてはどうでしょうか?

参考:
urlencode
http://jp2.php.net/manual/ja/function.urlencode.php
rawurlencode
http://jp2.php.net/manual/ja/function.rawurlencode.php

この意見に回答する

ツリーへ TOPへ

A01-1
replyerhachiya [3月10日 03:03]

moochoさんご回答ありがとうございます!

とても単純だけど重要な事を見落としていました。

moochoさんのご指摘通りで問題なく解決できました!

ほんとうにありがとうございます!

また何かわからないことが出てきましたらよろしくお願いします!

この意見に回答する

ツリーへ TOPへ

A01-1-1
replyermoocho [3月10日 22:55]

moochoです。

無事解決したようで何よりです。

助長ですが、GETでデータを直接送信される場合は
セキュリティ面で虚弱性が発生する可能性が高いですのでお気をつけください。

結構、いろいろあると思うんですが参考にひとつ
@IT > Security&Trust > クロスサイトスクリプティング対策の基本(後編)
http://www.atmarkit.co.jp/fsecurity/special/34xss/xss01.html
※HTTP項などのようなもの

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
負荷時のmysql_connect()エラー
 このエントリーをはてなブックマークに追加 
A
これはPHPというよりOSまたはMySQLのコミュニティで質問されたほうがいいと思います。 ぱっと思いついた範囲で記すと MySQL等のDBに「ある時点において同時に接続可能なクライアントの最大数」に制限があるよう...

>>続きを読む

今回のような実践的な経験がエンジニアのキャリアに繋がると思います。是非サービスを成功させて下さい!

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)