IEだけでURLパラメータの半角カナが消える。


php5.3 ZendFramework 文字コードUTF-8
で、WEBアプリケーションを作成しています。

URLパラメータに半角カナを使用した場合にphp側で上手く取得できなくなりました。

http://hogehoge/xxx?arg1=イロハ
とすると、イロハがphpで取得できません。

$getRequest->getQuery('arg1');

ただしIE以外のブラウザ Chrome FirFoxだと上手く取得できます。
なぜでしょう。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/11/24 15:12:51
  • 終了:2011/11/24 16:27:27

回答(2件)

id:techmedia-think No.1

techmedia-think回答回数46ベストアンサー獲得回数132011/11/24 15:46:28

ポイント50pt

おそらくURLエンコードされないからではないでしょうか。
予めURLに付加するパラメータをURLエンコードしてあげれば、正常に取得できるかと思います。

id:kodairabase No.2

kodairabase回答回数661ベストアンサー獲得回数802011/11/24 16:25:34

ポイント50pt

半角カタカナはUTF-8で3バイトになるのですが、IEでは3バイトをサポートしていないのでそのようなことになります。
http://ameblo.jp/yodandesu/entry-10337510412.html

  • id:zero-uhura
    おそらく、文字コードの誤認識かな。

    $arg1 = $getRequest->getQuery('arg1');
    $arg1 = mb_convert_encoding($arg1, "UTF-8", "UTF-8, JIS, eucjp-win, sjis-win");

    で解決しないかな。
    未検証なので、コメントで回答。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません