[pgsql-jp: 38036] Re: データ移行時の文字コードエラーについて
Toshihiro Kurai
tkurai @ taiyo-st.co.jp
2007年 2月 19日 (月) 14:09:45 JST
YuGoさんこんにちは。
> こんにちは。
> 二つのデータベースのencodingが同じでもこういうことは起きるのでしょうか。
2つのデータベースのencodingはEUC-JPで同じです。
> >invalid byte sequence does not match the encoding "EUC_JP": 0xa0ca
> ということは、EUC-JP以外の文字列をEUC-JPに変換させようとしているというこ
> とですか。
> pg_dumpのオプションはなんでやりましたか。
実行したpg_dumpは
pg_dump -h HOST_NAME -U USER_NAME -O -x -d -f FILE_NAME dbname
です。
webアプリケーションで入力されたデータをDBに登録しているのですが
その際にEUC-JP以外のコードとして入力されたのだと思います(?)。
pg_dumpによってTEXT化されてしまうと
文字コードの制約が適用されるのでしょうか。
よろしくお願い致します。
>
> YuGo
>
>
> Toshihiro Kurai wrote:
> > お世話になります。倉井と申します。
> >
> > 現在、8.0.3で運用しているPostgreSQLを8.2.3へ
> > 移行しようと考えております。
> >
> > そこでpg_dump->psqlにて移行を行なうと
> > 「invalid byte sequence does not match the encoding "EUC_JP": 0xa0ca」
> > とエラーが表示されて一部データが移行出来ませんでした。
> >
> > たしかにデータの中に文字化けしているものがありますが
> > 8.2.3の環境にpsqlで接続後、DBLINKを使用してINSERT〜SELECTで移行してみると
> > 問題なく移行出来てしまいました。
> > (移行後データも文字化けしています)
> >
> > この違いはどうして起こるのでしょうか?
> >
> > また、バージョンアップの際に皆様はどのようにして
> > 文字コードのトラブルを回避なさっていますでしょうか?
> >
> > 環境についてですが
> > 移行元OS:solaris9
> > 移行先OS:gentoo Linux
> > です。
> >
> > よろしくお願い致します。
> >
pgsql-jp メーリングリストの案内