[pgsql-jp: 37901] Re: EUC_JP を UTF8 に変換するには
Koichi Hyodo
sio-0 @ rh.to
2007年 1月 6日 (土) 10:01:51 JST
兵藤です
> From: Morita Kazuro <morita @ yuki.ad.jp>
> Date: Fri, 5 Jan 2007 23:08:43 +0900
> Subject: [pgsql-jp: 37898] Re: EUC_JPをUTF8に変換するには
>
> PGCLIENTENCODING=SJIS
> となっていたからです。携帯の仕事なのでSJISなのです。
気になるのですが…
文字エンコーデングといったときに、EUC/SJIS/UTF8といった
符号化方式だけに気を取られて、文字集合・mappingの差異を
見逃していないでしょうか ?
携帯で使われるSJISは、符号化方式こそSJISですが、文字集合
はその範囲を逸脱しています。それを無理矢理PostgreSQLの変
換エンジンで形だけEUCに変換して保存したわけですから、まず
最初に登録時の逆変換をかけてデータベース内から元の文字列
(バイト列)を取り出すのが近道だとおもいます。
つまり俺様EUCの文字列ではなく
元の携帯版SJISの文字列をダンプするほうが、簡単です。
これをUTF8にするmappingはいろいろあるとおもいます。
クライアントが一種類で、かならず同じ変換エンジンを通って
データが出入りするのならどんな俺様mappingでも構いません。
ただ、最初に書かれていた「いろいろな事情」というのが
クライアントOSやブラウザ毎に異なるmappingの差異まで
考慮した上でのものなのかどうか、再確認をお勧めします。
pgsql-jp メーリングリストの案内