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


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

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

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

$getRequest->getQuery('arg1');

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

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/11/24 16:27:27
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:techmedia-think No.1

回答回数46ベストアンサー獲得回数13

ポイント50pt

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

id:kodairabase No.2

回答回数661ベストアンサー獲得回数80

ポイント50pt

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

  • id:zero-uhura
    zero-uhura 2011/11/24 15:39:54
    おそらく、文字コードの誤認識かな。

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

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

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

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

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

回答リクエストを送信したユーザーはいません