読者です 読者をやめる 読者になる 読者になる

PostgreSQLでクライアントエンコーディングを変更

Ruby

昔つくって自分のサーバで動かしていたスクリプト
海外サーバに移そうと思って四苦八苦。
レンタルサーバはデフォルトではUTF-8でしかPostgreのデータを作れない。
しかし、私はEUC-JPで全てを作成してしまった。さあどうする?
ということで、SQLのフロントエンドのみEUC-JPにして対応することに決定。
そうするとインスタンスを作成した直後に発行するだけで
すべてうまくいくはず。

#!/usr/bin/ruby
require 'postgres'
conn=PGconn.new("localhost",5432,"","","jikken","","")
conn.query("SET CLIENT_ENCODING TO 'EUC-JP';")
res=conn.query("select * from conf")
puts res

以上のようなSQLを発行するとフロントエンドのエンコーディング
変更できました。これに行き着くまでまた2時間さまよってしもた。