[pgsql-jp: 39279] Re: 機種依存文字によるPgAdminのエラー

utsumi takashi @ pat.hi-ho.ne.jp
2008年 3月 6日 (木) 13:18:30 JST


板垣さん、こんにちは。
内海です。

教えて頂いたCREATE CONVERSION で、過去のログ(pgsql-jp:37962)を参考にし
て、euc_jp_to_utf8.mapを書き換えてpgAdminで表示できました。
有り難うございます。


> 「はしごたか」は、sjis や eucjp では 2通りのコードが割り当てられているようです。
> PostgreSQL は、このうち、eucjp fce2 の変換マッピングを持っていません。
> 
>  sjis | eucjp  | utf8
> ------+--------+--------
>  eee0 | fce2   | e9ab99
>  fbfc | 8ff4fb | e9ab99
> 
> ◎ SELECT encode(convert(decode('eee0', 'hex'), 'sjis', 'utf8'), 'hex');
> ◎ SELECT encode(convert(decode('fbfc', 'hex'), 'sjis', 'utf8'), 'hex');
> × SELECT encode(convert(decode('fce2', 'hex'), 'eucjp', 'utf8'), 'hex');
> ◎ SELECT encode(convert(decode('8ff4fb', 'hex'), 'eucjp', 'utf8'), 'hex');
> 
> 
> eucjp を使うのならば、8ff4fb に変換して格納するのはいかがでしょう?
> fce2 と 8ff4fb が混在し、期待通りの検索ができなくなることも避けられます。
> ただ、全ての文字コードを UTF8 に統一するのが一番問題が少なそうではありますが。
webで charset=EUC_JP からwindowsのIEから「はしごたか」を入力すると、
IEのほうでfce2に変換してPOSTされるので、そのままDBに登録しています。

データ登録はwebからだけなので、今回はCREATE CONVERSION で対応します。


---------------------------------------------------------------------
T.Utsumi  E-Mail : takashi @ pat.hi-ho.ne.jp




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