[pgsql-jp: 37891] Re: EUC_JPをUTF8に変換するには

Tatsuo Ishii ishii @ sraoss.co.jp
2006年 12月 31日 (日) 09:41:38 JST


石井です.

31日だというのに大変ですね.

> 森田です。お世話になっております。
> 
> 皆様に御教えいただいた方法でやってみたんですけど、たしかに、どうも
> 一部のコードがうまく変換できないようです。
> 
> ドコモ固有の文字が全くダメなようなんですが、これは化けるのではなく、
> リストア時にエラーになってしまいます。例えば(四角の中に1)があると、
> ERROR:  character 0xf987 of encoding "SJIS" has no equivalent in "UTF8"
> とpsqlに怒られます。こうなると、そのテーブルはドコモ固有文字の無い行まで
> 全部空になってしまいます。
> 
> ドコモの固有の文字がどうしてもだめなら、UTF8にするということ自体をあきらめ
> なくてならないんですが、何かうまい対策(抜け道)はないでしょうか? 

エラーになるデータを含む行を捨てても良いのであれば,pg_dump実行時に -d
オプションをつけてINSERT形式でダンプしてリストアできます.

すべて完璧にデータを持っていきたいのだとすると,たとえば(四角の中に1)
がUTF-8 でどのコードに対応するかを定義する必要があります.Cで関数を書
かなければなりませんが,記述自体は既存の変換マップに追加するだけなので
そんなに大変でないと思います.
--
Tatsuo Ishii
SRA OSS, Inc. Japan



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