[pgsql-jp: 38039] Re: データ移行時の文字コードエラーについて
Toshihiro Kurai
tkurai @ taiyo-st.co.jp
2007年 2月 19日 (月) 16:45:59 JST
YuGoさん
> > webアプリケーションで入力されたデータをDBに登録しているのですが
> > その際にEUC-JP以外のコードとして入力されたのだと思います(?)。
> ここがわかりかねます。クライアントのエンコーディングがなんであれ、サーバ
> 側の文字セットに自動的に変換されているはずと思います。
おっしゃる通りと思います。
そこで、EUC-JPに自動的に変換出来なかった文字が
今回のデータ移行のときにエラーとなっているのではないかと・・・。
入力者の環境を調べていただいている最中なのですが
Mac環境にてWordの文章をコピー&ペーストしたようだとの情報が入ってきました。
そこでUnicodeでEUCに変換出来ない文字が原因なのかと勝手に憶測しているのですが (--;)
加藤さん
>以前にも書いたことがありますが、↓のようにnkfに渡してやる方が安全かも。
>pg_dump -h HOST -U USER -O -x -d dbname | nkf --euc --unix > FILE_NAME
加藤さんのおっしゃる通りにしましたところ、移行は出来ました。
ただ、問題部分の文字が変わってしまうのでそこを了承いただけるかを
確認してみます。
既に化けているのだからという考えもありますね。
バージョンアップ時にそのままの状態で
移行しようとしたときはDBINKを使いINSERT〜SELECTでいくべきなのか・・・。
でも、これって問題の先送りにしかならないような気もしますね。
いっそpg_dumpもDBLINKもともにエラーだと踏ん切りつけやすいのですけど。
pgsql-jp メーリングリストの案内