[pgsql-jp: 38055] Re: データ移行時の文字コードエラーについて
ISHIDA Akio
iakio @ mono-space.net
2007年 2月 20日 (火) 23:59:29 JST
こんにちは。石田@苫小牧市です。
斉藤 wrote:
> 斉藤です。
>
>>> 私の場合、EUCでのリストアは諦めてDBをUNICODEにしてしまいました。
>> UNICODEも考えたのですが、こちらでも文字コードエラーは
>> 発生しました。(同じ箇所であるかは確認していないのですが・・・。)
>
> すいません、やり方は省いてました。
> 以下のやり方でうまくいったと思います。
> (数ヶ月前のことなので間違ってたらすいません)
>
> 1.Linuxでpg_dumpを使用しファイルに出力
> 2.出力したファイルをWindows上でKanjiTranslator(フリーソフト)と
> いうのを使用し、EUCからUNICODEに変換
> 3.Linuxで
> initdb --encoding=UTF-8 --no-locale
> でDBを作成
> 4.ファイル内の
> SET client_encodingを'EUC-JP'から'UTF8'に置換
> 5.Linuxでpsqlを使用しリストア
>
>> Linuxから接続しました。
>> Windowsから接続を行うとLinuxと違う挙動をするのでしょうか?
>> 今度、Windowsを使って試してみます。
>
> WindowsのPostgresを使ったこと無いので解らないのですが、
> Windows機種依存文字をそのまま扱えたりするのかな?
> と思っただけです。
>
> 識者の方、教えてください。
> http://ml.postgresql.jp/pipermail/pgsql-jp/2006-December/021440.html
> このスレッドを読む限り無理のような気がしますが。
>
上記のスレッドの
http://ml.postgresql.jp/pipermail/pgsql-jp/2007-January/021465.html
にもあるように、client_encoding が sjis、database_encoding が
euc-jp の変換に関しては機種依存文字を扱うことができますが、
sjis <=> utf-8 や euc-jp <=> utf-8 で機種依存文字を含んでいる
場合は(デフォルトでは)エラーとなります。
また、utf-8 で機種依存文字を扱うことができるように
CREATE CONVERSION でマッピングを追加することができますし、
今まで何度かそういったことをやった方を見たことがあります。
>
> P.S.
> メーリングリストの全文検索が行方不明ですが、
> 止まっているのでしょうか?
> http://ml.postgresql.jp/mailman/namazu.cgi
現在サーバの移行中だそうです。しばらくお待ち下さい。
--
ISHIDA Akio <iakio @ mono-space.net/ishida @ cycleof5th.com>
pgsql-jp メーリングリストの案内