世界線航跡蔵

Mad web programmerのYuguiが技術ネタや日々のあれこれをお送りします。

2009年05月16日

Multilingualized ruby-pg

ruby-pg 0.8.0は一応Ruby 1.9に対応しているものの、エンコーディング周りをきちんとサポートしていなかった。つまり、PGconnが折角エンコーディング情報を持っているのに、クエリの結果セットから取得した文字列はそのエンコーディング情報を反映していない。常にASCII-8BITの文字列が返ってくる。

これは嬉しくない。ASCII-8BITのままでは他のエンコーディングとの結合に支障がある。PGconnのclient encoding情報を覚えておいてforce_encodingするというのもアホみたいだ。そこで、この問題を修正するパッチを書いた。

PostgreSQLが対応しているエンコーディングとRubyのエンコーディングの対応関係は、PostgreSQL 8.3.7のドキュメントを元に決定した。JOHABはRuby 1.9.1では未対応なのでダミーエンコーディングとした。

なお、実装上の望ましいやり方やエンコーディングのマッピングについて、成瀬さん中田さんに大変お世話になった。それから『CJKV 日中韓越情報処理』が大変役に立った。持ってて良かった。こういう基礎資料は押さえておけば必ず何かの役に立つよね。ふんふん、多言語情報処理する日本のプログラマは全員持つべき本だ。

トラックバック

http://yugui.jp/articles/828/ping

現在のところトラックバックはありません

コメント

blog comments powered by Disqus

ご案内

前の記事
次の記事

タグ一覧

過去ログ

  1. 2016年07月
  2. 2016年01月
  3. 2015年09月
  4. 2015年08月
  5. 過去ログ一覧

フィード

フィードとは

その他

Powered by "rhianolethe" the blog system