[pgsql-jp: 35261] Re: IBM拡張文字の扱いについて
MORIYAMA Masayuki
msyk @ mtg.biglobe.ne.jp
2005年 4月 15日 (金) 13:00:02 JST
森山です。
On Thu, 14 Apr 2005 17:48:47 +0900
"kk" <noritamag @ hotmail.com> wrote:
> PostgreSQL側の
> CP932(Windows) <=> eucJP-open
> という変換表が使われている(機能している)
>
> と判断しました。
> この変換表はPostgreSQLのどこにあるのでしょうか?
すでに他の方が回答されていますので、そちらを参照してください。
> 今やろうとしていることは、WindowsからPostgreSQL
> にアクセスする際、上記の変換表ではなく、
> CP932(Windows) <=> cp51932
> という変換をさせたい、つまり変換表を変更したいのですが、
> 1.CP932(Windows) <=> cp51932 の変換表はPostgreSQL
> にテンプレートとして存在するものではなく、自分で作成
> するものなのか
CP51932 の変換に関しては、自力解析するよりほかないというのが現状です。
Windows 上での CP51932 の変換は次のページが参考になるかもしれません。
http://www.kaede-software.com/2005/01/libiconv.html
実際の実装では、以下のことに注意する必要があります。
・CP932 への変換では、NEC選定IBM拡張文字(89〜92区)を使わないようにする。
・CP51932 ではユーザー定義文字を扱えないことに注意。
・CP51932 では、∪∩¬∠⊥≡≒√∵∫ が JIS X 0208 の 2 区と NEC特殊文
字とNEC選定IBM拡張文字とで重複して定義されている。
Unicode→CP51932 の変換の時には、JIS X 0208 の 2 区の方のコードポイ
ントへ変換されるようにする。
> 2.どうやって、その変換表をインストールをしたらいいのか
> (どうやったら機能するのか)
ソースコードを見ていただくのが一番かと思います。
PostgreSQL を CP51932 に対応させた場合、PHP では CP51932 に対応してい
ないという事にご注意ください。その事を忘れて文字コード変換させると、訳
の分らない事になってしまいますのです。一応、念のため。
‖森山 将之 (MORIYAMA Masayuki)
‖e-mail: msyk @ mtg.biglobe.ne.jp
pgsql-jp メーリングリストの案内