[Seasar-user:17254] Re: teeda-extention環境 フォームへの入力文字列が文字実態参照に置き換わってしまう件について

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2009年 4月 14日 (火) 09:44:29 JST


お世話になります。

回答ありがとうございます。
ブラウザが行っていたとは。。(お恥ずかしい)

ちなみにIE(6SP2)のほか、fireFox(3.0.1)は同じ挙動でした。
(safari(3.1.2)では実態参照は行われず、化け文字が飛んできました。)

teeda(及びseasar2)を使用したのは今回が初めてだったのですが
この(teeda-extensionの)場合、実態参照に変換された10進の文字列を
そのままレンダリングするため、気が付いたのでしょうかね。
(strutsで開発していた以前は化け文字で表示されていたきがしましたので)

> 正規表現 Validator を使って
そうですね。
ただこれだと、変換されたものと、本来の文字列として書き込んだ場合と
区別ができないですよね(そんな人殆どいないと思いますけどね)。
これは無視してよいレベルでしょうかね。

これ以外で、皆様は一般的にどのような対処をなさっているのでしょうか
大変気になります。


-----Original Message-----
From: [E-MAIL ADDRESS DELETED] [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of Koichi Kobayashi
Sent: Monday, April 13, 2009 8:00 PM
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:17251] Re:teeda-extention環境 フォームへの入力文字列が文字実態参照に置き換わってしまう件について

小林 (koichik) です.

Date:    Mon, 13 Apr 2009 16:43:46 +0900
From:    <[E-MAIL ADDRESS DELETED]>
To:      <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:17249] teeda-extention環境 フォームへの入力文字列が文字実態参照に置き換わってしまう件について

> 只今teeda(teeda-extension)で開発されたアプリを扱っているのですが、
> 入力フィールドに入力した文字列が、サーバ側で受け取ったタイミングで
> 既に文字実態参照に置き換わってしまいます。
>  
> 置き換わる文字は、既に分かっており
> ページ(html)のcharset指定が、"Windows-31J"になっているため
> CP932に登録のない漢字、文字がコピペ等で入力されてしまった場合
> しれっと置き換わります(変な文字を入力 ⇒ &#40848;こんな感じ)
>  
> フィルタかどこかで変換をかけているのだと思うのですが
> どのように対処すれば良いのでしょうか?

これはフィルタではなく,ブラウザが置換しています.
以下の「3. Window Vistaで使用される文字コードについて」
等を参照してください.

http://www-06.ibm.com/jp/domino01/mkt/websphere.nsf/doc/00355FD5

> 目的としては、このように文字参照されてしまう文字が入力された場合
> フィルタで変換せずにそのまま受け取り、validatorによりはじきたいです。

正規表現 Validator を使って

@RegularExpression(pattern="([^&]*(&(?!#\\d+;))?)*")

みたいな感じではじけるのではないかと.
# 正規表現自体はもっと精査した方がいいかも.


--
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>

_______________________________________________
Seasar-user mailing list
[E-MAIL ADDRESS DELETED]
https://ml.seasar.org/mailman/listinfo/seasar-user


Seasar-user メーリングリストの案内