end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転しました

PostgreSQL 9.5 で、「pg_ctl: ERROR: invalid byte sequence for encoding」

具体的には、insert sql時に以下のようなエラー

pg_ctl: ERROR:  invalid byte sequence for encoding "SJIS": 0xff 0xff

どうやら"髙"のような、いわゆる機種依存文字の影響らしい。

postgres側の文字コードを変更すれば、解消するかもしれませんが、 一旦は、perl側で

my $str = '髙橋';
$str = Encode::encode('sjis', Encode::decode('cp932',$str) );

のようにすることで機種依存文字を「?」に変換