MeCab の辞書をビルドするときに文字コードが euc-jp になってしまう場合の対処方法

結論

mecab-ipadic-2.7.0-20070801--with-charset=utf8 のオプション付きでビルドする。

$ ./configure --with-charset=utf8

Natto で確認する

期待通りの挙動になっているかを Natto で確認します。

> require 'natto'
> nm = Natto::MeCab.new
=> #<Natto::MeCab:0x00007f2546c63280 @model=#<FFI::Pointer address=0x0000561020b78620>, @tagger=#<FFI::Pointer address=0x0000561020bb0e20>, @lattice=#<FFI::Pointer address=0x000056101cbcb550>, @libpath="/usr/local/lib/libmecab.so", @options={}, @dicts=[#<Natto::DictionaryInfo:0x00007f2546c61980 @filepath="/usr/local/lib/mecab/dic/ipadic/sys.dic", charset=utf8, type=0>], @version=0.996>

charset=utf8 となっているので OK です。ここがたとえば euc-jp になっていると失敗しています。

Powered by はてなブログ