[pgsql-jp: 26888] Re: UCS-2 文字を利用したい

SEIJI SUGAHARA/NIDEC SEIJI_SUGAHARA @ notes.nidec.co.jp
2002年 8月 2日 (金) 20:00:05 JST


菅原です。
度々の助言恐れ入ります。

今までの過程ですが、まずPostgreSQL7.2.1を導入後、パッチファイルを順番どおり
に
2つあてました。
このときには、エラーメッセージはなく、「Patching ・・・・」とだけ表示された
ので問題ないと思います。
その後、エンコードをUNICODEで./configureを行い、環境設定を行いました。

以前は説明しなかったのですが、
PostgreSQL+JSP+ApacheでWebから
ユーザが入力した文字 (IBM拡張文字も ・・ 教えていただくまで他の文字とお
なじ形態だと思ってました m(_ _)m)
をデータベースに格納させ、その格納した文字をWeb表示にさせようと思っておりま
す。
(前回のODBCの話は割愛させてください あまりテストもしていませんでしたの
で)


そこで、文字コードの流れを抑えることが重要なのですが、
今までは、
(ユーザ入力文字 EUC_JP) ⇒ (JSPで文字取得 その際、EUC_JP⇒Unicodeに変
換 *1) ⇒
(postgreSQLにinsert Unicode)【PostgreSQLエンコード=Unicode】  ⇒ (Web
表示 PostgreSQLから取得した文字をEUC_JPとして表示)

と考え、現にたいていの文字はうまくいきました。

*1 Javaソース
String(s.getBytes("8859_1"),"EUC_JP") といった感じで。


そこで教えていただきたいのですが、今回のパッチというのは、ユーザがどのよう
なコードでIBM拡張文字を入力しても、
postgreSQLできちんと解釈してくれるものと都合よく解釈してしまっているのです
が、間違いでしょうか?
このパッチファイルでどのようなことができるのでしょうか?
重ね重ね申し訳ないのですが、よろしくお願いいたします。






Eiji Tokuya <e-tokuya @ sankyo-unyu.jp>@ml.postgresql.jp 2002/08/01 18:05:57

pgsql-jp @ ml.postgresql.jpに返信してください

送信者:   pgsql-jp-admin @ ml.postgresql.jp


宛先: pgsql-jp @ ml.postgresql.jp
cc:
件名: [pgsql-jp: 26872] Re: UCS-2 文字を利用したい


徳家です。

> 菅原です。
> 早速パッチファイルをあててTRYしてみました。
> しかしながら、私がデータベースにぜひ登録したい文字の一部は「?」となって
し
> まいました。
> (ちなみにデータベースには、Accessを介してODBCで登録しています)
>
> たとえば、
> 「さき」 ← 「山」+「立」+「可」 (普通は「崎」をイメージ)
> 「はしごだか」 ← (普通は「高」をイメージ)
> です。

これは、IBM拡張漢字といってWindowsの機種依存文字です。
Accessの表示フォントがこれらの文字に対応してないと
なりません。
他にも多くの原因が考えられるので、不明確な部分をクリア
にしないと特定できません。
patchをあてた際エラーは出ませんでしたよね?
DBのエンコードはUNICODEですよね?
ODBCはMultibyte版ですか、それとも日本語版、はたまた
英語版?
IMEの文字一覧でAccessで表示しているフォントを選択して
上記も文字が全て表示できますよね?
ODBCのClient_Encodingの設定は間違いないですか?

>
> 他に外字エディタで独自に作成した文字、たとえば、
> 「よし」 ← 「土」+「口」 (普通は「吉」をイメージ)
> などは、ちょっと無理な気がしますが、
> 上の2つは、IMEの辞書ツールさえ登録しなおせば、テキストなどに表示できるの
> で、
> おかしい?と感じています。

これも、フォントをチェックしてみて下さい。

> これは、うまくパッチファイルがあたってないのでしょうか?
>
>
> ちなみにパッチですが、
> 〓postgresql-7.2.newencoding.diff.gz
>
> postgresql-7.2.1 ディレクトリで、
>      patch -p1 < postgresql-7.2.newencoding.diff.gz
>
> 〓udc_to_utf.diff.gz
>       gzip  -d  udc_to_utf.diff.gz
>       patch -p0  < udc_to_utf
>
> としました。
> (あまりわかっていないものではずしていたら申し訳ないです m(_ _)m )

ほんとはpostgresql-7.2.1.newencoding.diff.gzもgzipで
展開するのですが、自動で展開されてtextファイルになっ
ていたら問題ないです。

徳家






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