[Seasar-user:8316] Re: [Teeda] 円記号について

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 6月 14日 (木) 13:00:26 JST


小林 (koichik) です.

Date:    Thu, 14 Jun 2007 08:18:48 +0900
From:    Junichi Kato <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:8313] Re: [Teeda] 円記号について

> > 定数アノテーションでは再現しないのでしょうか?
> 
> はい.定数アノテーションでは再現せずに,Tigerアノテーションで再現します.

それは不思議ですね.
こちらでも再現しないかやってみましたが,定数アノテーションと
Tiger アノテーションでの違いはありませんでした.
ただ,正規表現には問題がありました.

> @RegularExpression(pattern = "[^\\\\u00a5]*")

これだとエスケープを処理した後の文字列としては

[^\\u00a5]*

となり,正規表現は最初の \\ を一つの文字として
解釈するので,その後の u00a5 が円記号ではなく
単なる 5 文字として解釈されてしまいます.
U+005C は弾けたのに U+00A5 は弾けなかったのは
このせいかもしれません.

そんなわけで (どんなわけで?),一文字増やす必要が
ありました.

  @RegularExpression(pattern = "[^\\\\\u00a5]*")
                                      ^
ただ,定数アノテーションでうまく動くというのは
理解できませんが.


> >     <filter>
> >         <filter-name>encodingfilter</filter-name>
> >         <filter-class>org.seasar.extension.filter.EncodingFilter</filter-class>
> >         <init-param>
> >             <param-name>encoding</param-name>
> >             <param-value>UTF-8</param-value>
> >         </init-param>
> >     </filter>
> 
> はい.この通りです.UTF-8になっています.

こちらではここさえ正しければ文字化けっぽい
動きにはならないのですけどねぇ.



-- 
<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 メーリングリストの案内