[Seasar-user:20460] Re: OracleのUnicode問題について

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2010年 12月 24日 (金) 20:20:44 JST


小林 (koichik) です.

Date:    Fri, 24 Dec 2010 09:28:09 +0900
From:    Noriyasu NARITA <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:20459] Re: OracleのUnicode問題について

> 2についてはなんらかの方法でDBから取得したWindows-31JベースでマッピングされたUnicodeを
> Shift_JIS ベースに置き換えます。
> たしかs2jdbcのOracleDialectにはこの置き換えをするためのコードが入っていたので、
> diconでなにかを有効にしたら実現できるかもしれません。

おっしゃるとおり,OracleDialect にはそのための
変換処理が含まれているのですが,変換している文字が 

> WAVE_DASH(U+301C)
> FULLWIDTH_TILDE(U+FF5E)

だけで,それ以外の文字 (MINUS_SIGN と
FULLWIDTH_HYPHEN_MINUS など) の変換は
行っていません.そのため,文字化けを完全に
防ぐことはできません.

S2Util の StringConversionUtil ではマッピングで
問題になりそうな文字は全部変換するメソッドを
提供しているので,成田さんが提示してくれた
2 の方法を選ばざるを得ない場合は S2Util を
使うか,大したコードではないので自前で変換を
するのがいいと思います.

もっとも,Oracle が JA16SJISTILDE ならそんな
必要はなく,EncodingFilter と JSP を Windows-31J に
するだけでいいんじゃないかと思います.


-- 
<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>
    <property name="twitter">"http://twitter.com/koichik"</property>
</component>



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