php5.3 ZendFramework 文字コードUTF-8
で、WEBアプリケーションを作成しています。
URLパラメータに半角カナを使用した場合にphp側で上手く取得できなくなりました。
http://hogehoge/xxx?arg1=イロハ
とすると、イロハがphpで取得できません。
$getRequest->getQuery('arg1');
ただしIE以外のブラウザ Chrome FirFoxだと上手く取得できます。
なぜでしょう。
おそらくURLエンコードされないからではないでしょうか。
予めURLに付加するパラメータをURLエンコードしてあげれば、正常に取得できるかと思います。
半角カタカナはUTF-8で3バイトになるのですが、IEでは3バイトをサポートしていないのでそのようなことになります。
http://ameblo.jp/yodandesu/entry-10337510412.html
コメント(1件)
$arg1 = $getRequest->getQuery('arg1');
$arg1 = mb_convert_encoding($arg1, "UTF-8", "UTF-8, JIS, eucjp-win, sjis-win");
で解決しないかな。
未検証なので、コメントで回答。