[pgsql-jp: 25216] Re: Windows上JDBC でのエンコーディング
Tsunehisa Kazawa
kazawa @ sons.co.jp
2002年 3月 11日 (月) 13:18:07 JST
加澤です。
SUGIMURA Takashi 杉村貴士 wrote:
> 杉村です。
>
> アプリケーションで受け取るまでは EUC_JP (EUC-JP だと思う。。) にしておいて、
> 出力するときに MS932 にするというのでは逃げられないのでしょうか。
ほとんどの場合、逃げられないのではないかと思います。
例えば「〜」を例に取りますと、EUC-JP での「〜」は通常 0xa1、0xc1
というバイト列で表されます。この文字を Java で普通に EUC-JP コンバー
タを利用して Unicode 化すると \u301c になります。この文字は先に示
した通り、MS932 コンバータでは「? (0x3f)」に変換されてしまいます。
MS932 コンバータで Shift JIS の「〜 (0x81、0x60)」を得たい場合に
は、この場合も \u301c→\uff5e 変換を行う必要があります。
なお、DB 側に格納されている「〜」が EUC で 0x8f、0xa2、0xb7 という
コードの場合は、Java の EUC-JP コンバータを用いると \uff5e と相互変
換が可能ですから、このまま MS932 として出力可能です。この場合は杉村
さんがおっしゃる方法で全て解決、だと思います。
#SJIS クライアントから psql を叩きたい要求などが重なった時にどうな
#るのかは、僕は知りません。
--
加澤恒央
Tsunehisa KAZAWA
kazawa @ sons.co.jp
SONS,. Ltd. Programmer
pgsql-jp メーリングリストの案内