[pgsql-jp: 38290] Re: エンコーディングSQL_ASCIIについて
EBIHARA, Yuichiro
ebihara @ iplocks.co.jp
2007年 4月 4日 (水) 17:49:01 JST
海老原です。
> > そのSQL_ASCIIのデータベースに格納されている日本語のエンコーディ
> > ングは何なのでしょうか。
> > V8のJDBCドライバは、クライアントエンコーディングに"UNICODE"を
> > 決めうちで設定しているはずなので、UTF-8なら問題なし、そうでなけ
> > ればJDBCドライバを改造しないといけないと思います。
> >
> 改造して格納されている日本語のエンコーディングを設定できるように
> すればよいということでしょうか。
> SQL_ASCIIのデータベースに格納されている日本語のエンコーディ
> ングは、SQL_ASCIIではないのですか。
> 実は別のエンコーディングないなっているのでしょうか。
SQL_ASCIIはその名の通りASCIIキャラクタしかサポートしていません。
ただし、クライアントエンコーディングもSQL_ASCIIにするなどして、
自動変換が発生しないようにすれば、無変換で何でも格納できたはずです。
問題は無変換で入れたのがEUC-JPなのかSJISなのかUTF-8なのか・・・。
ところで、取り出そうとしているデータは、実は既にDB内で化けて
しまっているなんてことはないですよね?
> 改造するファイルは、org.postgresql.core.v2.ConnectionFactoryImpl.java
>
> でしょうか。UNICODEの代わりに何を指定すればよろしいでしょうか。
> どうぞよろしくお願いします。
ごめんなさい、ちょっとそこまでは・・・。
単にset client_encoding='???'とするだけでなく、文字列データの受け渡し時に
も、きちんと指定したエンコーディングが働くように考慮する必要もある
でしょうし。
えびはら
pgsql-jp メーリングリストの案内