質問: EUC_JP を設定して再起動しましたが、結果は同じでした。 どうも、pgadminが強制的にUTF8で見に行っているようです。 コマンドプロンプトで C:\>cd "c:\Program Files (x86)\pgAdmin III\1.12" c:\Program Files (x86)\pgAdmin III\1.12>psql -U postgres -p hoge -hexample.com testdb psql (9.0.0, server 9.6.1) WARNING: psql version 9.0, server version 9.6. Some psql features might not work. Type "help" for help. testdb=# \encoding EUC_JP testdb=# SELECT * FROM public.order testdb-# ORDER BY order_id testdb-# ASC; order_id ..snip... と正常に出力されます。 また、100件までのクエリでは正常に結果が返る事から、テーブル内でEUCコードとUTF8と相容れない文字があるのだと推測しますが、解決法が解りません。 どなたか、解決法は解りますでしょうか。
回答: 問題になっている0xf9f5は、「﨑」という文字で、これは**Microsoftなどによる独自拡張**の文字です。 しかもややこしいことに、この「﨑」は「NEC選定IBM拡張文字」と「IBM拡張文字」として、文字コード上に二重に入っているため、EUC⇔Unicodeの変換テーブルから外されてしまっている、ということのようです(参照)。 クエリもEUCで投げ続けるか、テーブルごとUTF-8に変えて運用するかの2つに1つだと思います。