[pgsql-jp: 36516] ignoring unconvertible UTF-8 character 0xe28094
サンタ
santasan @ mahorobakan.jp
2005年 12月 9日 (金) 23:34:27 JST
お世話になります。三田と申します。
受信したメールをJDBCを通じでPostgreSQLのデータベースに格納するアプリケーションをVine2.6r4およびVine3.2で作成しています。使用しているPostgreSQLは7.3.11または7.4.9でソースからのインストールです。
MLに流れるさまざまなメールをデータベースに入れていますが、時々postmasterを起動したコンソールウィンドウ上に
$ WARNING: ignoring unconvertible UTF-8 character 0xe28094 (7.4.9の場合)
WARNING: UtfToLocal: could not convert UTF-8 (0xe28094). Ignored (7.3.11の場合)
と表示されます。0xe28094のコードは別のコードの時もあります。0xe28094の場合はWindows上のOutlook Expressでは横棒(−)で表示されているものですが、Windows上から入力し
た横棒はデータベースにはすんなり入りWARNINGも表示されません。同じ横棒でもコードは違うようです。要はいろんなシステムで作成されたメールが流れてくるので、中にはPostgreSQLでコード変換できないものもあるようです。この場合、そのコードはデータベースに入らないで削除されてしまいます。
postgresql.confのclient_encodingはディフォルトのsql_asciiでもUTF-8にしても同様です。Vine3.2もしくは2.6r4の$LANGはともにja_JP.eucJPです。
これはもうあきらめるか、クライアント側でコードを拾って別のコードに変換してからデータベースに入れるしか手はないのでしょうか。
pgsql-jp メーリングリストの案内