ログ日記

作業ログと日記とメモ

dbmailのマルチバイト対応(?)はややこしそう

postgresqlのカラム定義をbytea型にするなら、dbmailソースコード変更も必要だよなぁ・・。
DBの文字コードUNICODEにしたら大丈夫なのかな?dbpgsql.cには

#ifdef OLD
        /* UNICODE is broken prior to 8.1 */
        if (PQserverVersion(conn) < 80100) {
                char *enc = NULL;

                enc = pg_encoding_to_char(PQclientEncoding(conn));
                // if (strcmp(enc, "SQL_ASCII") != 0) {
                if (strcmp(enc, "UNICODE") == 0) {
                        TRACE(TRACE_FATAL, "Database encoding UNICODE is not sup
ported prior to PostgreSQL 8.1");
                }

                // FIXME: Does we need to free enc?
        }
#endif

とかあるのが気になる。sargeの標準は7.4だ。
UNICODEは使えない?エラーメッセージにデータベースのエンコーディングUNICODEは使えないって出てるしなぁ。。関数はクライアントのエンコーディングっぽいが・・この場合クライアントのエンコーディングって何だ?CでDBは分からない・・。


うーん。簡単には解決しなさそうだ。


標準的なメーラーEUC-JPに変換できないような文字列を送ってくるソフトってあるのかな・・わからん。
postgresql側で設定された文字コードに無いデータが入ってきたら自動的に空白に置き換える機能とかは・・これもよくわからないな。