2012-01-22 9 views
0

私はPlayを試しています! WindowsとUbuntuで。私はemailパラメータを受け入れるアクションメソッドを持っています。URLのプラス文字がLinuxボックスのスペースに変換されました

プラス記号(たとえば[email protected])を含む電子メールアドレスを渡すと、Windowsでは期待通りに機能し、私のubuntuボックスではabc [email protected]が電子メールパラメータに割り当てられます。

誰もこの状況に遭遇しましたか?私はPlayの前にフロントエンドプロキシを持っていません。どちらの場合も、同じバージョンのPlay(1.2.x-c40cf37、1.2.4よりやや後)に直接アクセスできます。同じapplication.mode = devとほぼ同じ設定です。

linuxボックスをデバッグすることはできません。これはAmazon EC2インスタンス上にあり、Javaデバッグプロトコルは遅いです。別の方法が見つからない場合は、ローカルのunbutuをVMにインストールしてそこでデバッグする必要があります。私がそれをする前に、私が試みることができる他の役に立つヒントはありますか?

+2

私は決してプレイを使用しませんでしたが、電子メールアドレスをURLエンコードする必要はありませんか? – Bogdacutu

+3

URLの '+'はスペースのためのエスケープです。 '%20'を使用してください。 – Oded

+0

@Bogdacutu - しかし、Windowsでは、エンコーディングなしでうまく動作します...私はブラウザがとにかくそれをエンコードすると信じています。 – ripper234

答えて

4

これは標準的な動作です。

URLのスペースは、+で表すことができます。 %20を使用してエスケープする必要があります。

+0

これはまだWindowsとLinuxの違いについては説明していませんが、この場合Windowsは標準に準拠していない可能性があります。私はエンコードしようとします。 – ripper234

+0

@ ripper234 - これは、さまざまなブラウザがどのように動作するかに関係します。 – Oded

+0

それは奇妙です - 私は両方のサーバーにアクセスするために同じマシン上で同じブラウザを使用しています。 – ripper234

関連する問題