« エー方位 | トップページ | インベージョン »

MeCab試験養殖中 その2

 検索しているうちに SQLite3 とかでも ASCII-8bit で返ってきてしまって不便だといったものが見つかった。

 [ Rubyのsqlite3-rubyは必ず文字コードASCII-8BITとして返す - Rubyで遊ぶよ - Rubyist ]

 実際化けてしまうけれど処理そのものは MeCab でもできているようなので、force_encoding してみたら確かに正しく表示できたのを確認。

 ということは MeCab 側ではバイト列として処理していて、Ruby1.8 系ではそもそも文字列をバイト列として処理していたので問題なかったけれど、1.9 系では文字列そのものとして処理している(?)といったことらしいので、そのあたりがうまくいかずにおかしなことになってしまうのかもしれない。

 本来ならバインディングのところでそのあたりを吸収すべく処理するべきなのだろうけれど、それができてないってことなのかな?

 やや強引に作ってみた MeCab.so でもとりあえず使えているようなので(force_encoding なのでお行儀としてはよくないのだろうけれど、このあたりのことはちょっと手が出ないので)ひとまずこれで少し使ってみることにする。

MeCab試験養殖中: つらつらぐさ

|
|

« エー方位 | トップページ | インベージョン »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/28835/53780430

この記事へのトラックバック一覧です: MeCab試験養殖中 その2:

« エー方位 | トップページ | インベージョン »