PostgreSQL の EUC→UTF 変換でエラー発生(2015-04-22 09:58:50)へのコメント

< ページ移動: 1 2 >

by さっしー(2021-11-02 09:25:03)

非常に古い投稿についての質問で恐縮です。
0xf9a1~0xfcfeのマップファイルへの領域の追加はどうすればいいですか?
追加をやろうと思いましたが、マッピングに失敗してコード自体がぐちゃぐちゃになってしまいました。
Offsetがよくわからないです…


by shinoda(2021-11-02 09:43:38)

やってみたわけではないし、今手元に環境がないので実際のファイルを確認したわけではないですが・・・
euc_jp_to_utf8.map に、
{0xf9a1, 0xe7ba8a},
{0xf9a2, 0xe8a49c},
...
{0xfcfe, 0xefbc82},
って追加してリコンパイルするだけでは?
これではうまくいかなかったってことですかね???


by さっしー(2021-11-02 10:22:26)

迅速なご返答ありがとうございます。
もともとコードマップには存在しない領域だったので、
領域を追加しなければならなくなりました。
そして領域を追加したらマッピング自体がおかしくなりました。

多分offsetが関係しているのですが。
よくわからないです。

インターネットで探しても、情報が全く載っていないのでわからないです(泣)


by shinoda(2021-11-02 11:12:42)

なるほど。
マッピングファイルには正しく記述したが、マッピング情報がおかしくなったということですか。

offset が何に対する offset値をおっしゃっているのかわかりませんが、当方も、

https://ml.postgresql.jp/pipermail/pgsql-jp/2008-March/014441.html

この情報を見て「こうすればいいのね」とメモっただけで、ブログにもあるように実際にやってみたわけではないので、これ以上はわからないですね・・・お力になれなくてすみません(^^;

ここに書かれているように、

1.
src/backend/utils/mb/Unicodeにて
sjis_to_utf8.mapにコードを追加
utf8_to_sjis.mapにコードを追加

2.
src/backend/utils/mb/conversion_procs/utf8_and_sjisにて
make clean
make
make install

3.
psqlで次を実行
DROP CONVERSION pg_catalog.sjis_to_utf8;
CREATE DEFAULT CONVERSION pg_catalog.sjis_to_utf8 FOR 'SJIS' TO 'UTF8' FROM sjis_to_utf8;
DROP CONVERSION pg_catalog.utf8_to_sjis;
CREATE DEFAULT CONVERSION pg_catalog.utf8_to_sjis FOR 'UTF8' TO 'SJIS' FROM utf8_to_sjis;

4.
確認

とやって駄目だったってことですよね?


by さっしーさ(2021-11-02 16:42:39)

ご連絡ありがとうございます。

おっしゃる通りの手順の通りやってみましたがダメでした。

mapファイル内にはoffsetという値があって、
この値が何を意味するのか全くもって分かりません。

そしてこのオフセットの値が正しくないので、エラーになっているのだと思います。

とりあえず別の方法を試してみようと思います。


< ページ移動: 1 2 >
コメント投稿
元記事を読む
最近コメント一覧へ戻る

Powered by
MT4i 3.0.8