Ruby1.9でTokyoCabinetを使っていて、UTF-8な文字列をTokyoCabinetのHDB(ハッシュデータベース)につっこんでいって、getするとASCII-8BITで返ってくるということで大分はまっていた(Ruby1.9だと文字コード(String#encoding)まで一致しないと同じ文字列だと見なされない)。
ファイルの読み込みなら
File.open('hoge.txt', 'r:utf-8')
とかやれば回避できそうだと思うんだけど、TokyoCabinetのようなものを使うときってforce_encodingを使うしかないんだろうか?この辺のbest practice的なところがよく分からないなー。