- - PR -
記号文字(unicode)を入力するとブラウザが固まります。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-03-26 15:17
tomcatで動作している、strutsベースのwebシステムなのですが、encodingをWindows-31Jとしています。このシステムに対して、unicodeで文字を入れたときにどうなるかを試していたところ、@画面が初期化される、A固まる、の、二つの異なる挙動を示します。
@については一旦、サーバーでトランザクションを受け取った後、元の画面(入力前)に画面遷移しているようです。しかし、Aのケースは、サーバー側に何もログが出ないところを見ると、トランザクションが発行されていないように見えます。 このとき、ブラウザ右肩のWindowsの旗はパタパタとはためきません。しかし、二度押し防止のJavaScriptが実装されているので、「お待ちください」のダイアログが出るところを見ると、クリックは受け付けたがトランザクションが飛ばせないような状況に見えます。 ちなみに、jsp側が input text となっていますが、unicodeの”㌪”0×332Aを1文字だけ入力したときに固まります。その他の文字(Aとか、普通のS-JIS文字)と組み合わせて入力すると、普通にトランザクションが飛び、サーバー側に処理が渡されています。 この現象は、IE6、IE7で発生することを確認していますが、NNでは発生しないようです。ブラウザ側のJSP実装に何か原因があるのでしょうか? どなたか、このような現象がおきる原因をご存じないでしょうか? | ||||
|
投稿日時: 2007-03-26 15:33
ボタンは<input type="submit">でなく、通常のボタンにonClickハンドラを設定してjavascript内でフォームsubmitさせているのではないですか? その場合だと、form.submit() を実行する前にエラーが発生している可能性が高いと思います。 IEにスクリプトエラーはでていませんか? # 自分の環境(IE6)で試した限りでは、POSTでもGETでも正常に"㌪"が送信できました。 | ||||
|
投稿日時: 2007-03-26 19:16
返信ありがとうございます。 ちゃんと、<input type="submit">で、スクリプトエラーも出ていません。 ちなみに、送信できる文字と出来ない文字は明確で、再現性もあります。 なので、特定の文字の時に起きる現象、と思われます。 unicodeのCKJ互換文字については、JISコード割り当ての無いものについては試した限り全部ダメでした。しかし、CJK統合漢字については試した文字は全部送信されました。 |
1