[pgsql-jp: 31935] Re: インサートすると? になる文字

Tatsuo Ishii t-ishii @ sra.co.jp
2004年 1月 8日 (木) 18:09:50 JST


石井です.

> LinuxでエンコーディングがEUC_JP クライアントエンコーディングがShift_JIS
> のDBがあります。このDBにACCESSで入力したデータをインサートしたところ
> 一定の文字のみ"?"となってしまいます。
> 以下の2文字です。
> 
> ?原一郎
> ?田信永
> 
> かなり特別な漢字なのですが、これらをどうにかちゃんと表示できる
> ようにしたいと考えています。(ちなみにACCESSではちゃんと表示されます)
> それは可能でしょうか?
> よく分かっていないのですが EUCとShift_JISの違いによるものかと
> 思っていたのですが、この本文に貼り付けても?となります。
> どなたかお分かりの方、アドバイスいただけると幸いです。

こういう時のために:-)作ったC関数があるので,これを使って実際にどういう
データがPostgreSQLに入っているか,調査していただけますか?

テーブル名がyour_table,列の名前がyour_columnだとして,

SELECT strtohex(your_column) FROM your_table WHERE 適当な検索条件...;

とすると,16進で?の部分に実際にはどういうデータが入っているのかわかり
ます.それを見れば何かわかるかも...

ものは 
ftp://ftp.sra.co.jp/pub/cmd/postgres/strtohex/strtohex-1.0.tar.gz にあ
ります.たぶんPostgreSQL 7.2以降ならどれでも動くと思います.ところでお
使いのPostgreSQLのバージョンは何でしょうか?
--
Tatsuo Ishii




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