[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 メーリングリストの案内