[pgsql-jp: 25224] Re: Windows上JDBC でのエンコーディング

Tsunehisa Kazawa kazawa @ sons.co.jp
2002年 3月 11日 (月) 18:17:12 JST


加澤です。

最初に結論。僕も今さらながら PostgreSQL 7.2 の JDBC ドライバの
ソースを読みましたが、徳家さんのおっしゃるとおり、コネクトプロパ
ティの charSet に MS932 を指定してあげればいいだけの問題ですね。
(明示的に指定された Encoding がある場合はそれを最優先で使うよう
なコードになっているように見えます。後でちょっと試してみますね。)

src/interfaces/jdbc/org/postgresql/core/Encoding.java に MS932
がない、という問題も、DB 側 (石井さんの指摘された修正が加わった後
ならば CLIENT 側) のエンコーディング設定が自動的に反映されるよう
にする場合にだけ使われているので、今のまま (SJIS のまま) で僕はい
いように思います (理由は前に書きました)。

Eiji Tokuya wrote:
> 徳家です。
[略]
> PostgreSQLのClientEncoding のSJISは実はMS932と全く等価な
> 文字集合であるので問題なく利用可能である。(^^;)
> JavaをSJISではなくMS932で使えば何ら問題ありません。

今回の話は文字集合に関する話ではなく、もっぱら JavaVM 側でのマッ
ピングについての話でしたので (扱える文字集合という意味では SJIS も
MS932 も同じはず)、PostgreSQL 本体側には実はあんまり関係なかった
のでした。

> これでは、よろしくないですか?(^^;;;

よろしいと思います。

> DBの作り方とClientEncodingの指定の仕方を間違えなければ、
> PostgreSQLにおいてSJIS/MS932問題は本来発生しない問題です。
> よってこれについては新たな改良は行いません。
> 石井さんもおそらく同じだとおもいます。

僕も PostgreSQL は現状ですでに十分な対応をされていると思います。
クライアントとして Windows とそれ以外が混在する時に、MS932 マッ
ピングと SJIS マッピングに注意しなければならないのは、どのような
システムにおいても同じですから。

-- 
加澤恒央
Tsunehisa KAZAWA
kazawa @ sons.co.jp
SONS,. Ltd. Programmer



pgsql-jp メーリングリストの案内