[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 メーリングリストの案内