そんな馬鹿な、というような話だが。
postgres なので EUC_JP の文字コードのDBがまだ残っていたりする。
ということで今、terminal の環境設定の詳細の文字エンコーディングが
日本語(EUC)
になっていたとする。この状態で、psql に入り、DB操作を開始、「やべえ、このDBは UTF-8 だった」
と気づいて、terminal の環境設定の詳細の文字エンコーディングを
Unicode(UTF-8)
に変更したとする。
そうすると、
SELECT name FROM items;
というようにひとつのカラムをセレクトする場合は文字化けしないが、
SELECT * FROM items;
というように全部をセレクトすると文字化けする。
もちろん、一旦 terminal を終了してちゃんと
Unicode(UTF-8)
になってるのを確認してから psql に入れば文字化けしない。
まったくもって馬鹿馬鹿しい現象だが、やってる本人は一体何故なのかさっぱり分からない。
そして一日を棒にふる訳である。