• PythonでMeCab実行時に文字化けを治す

    文字化けの原因

    文字化けの原因はどうやら一緒にインストールした辞書が原因らしい。UTF-8としてmakeしたはずなのになぜかeuc-8になってしまうらしく。これもまた混乱の原因になってしまうようです。

    辞書の変更

    sudo update-alternatives –config mecab-dictionary

    とすることで辞書を変更できるようですが、これでutf-8を指定してるのにも関わらず文字化けする始末。どうしてなんだろうと調べてみると原因は全く関係ないところにありました。

    mecabrcファイルを探す

    find / -name *mecabrc*

    mecabrcファイルにdecDirというディクショナリのディレクトリを指定する変数があるのでこれをutf-8対応のものに書き換えます。ややこしい・・。

    /usr/local/etc/mecabrc
    /etc/mecabrc

    自分の環境だと2つでてきたのでこれらをviで開いてdecdirを書き換え。
    書き換える元の辞書のファイルパスがわからない場合は、

    find / -name *ipadic-utf8*

    で探します。

    /var/lib/mecab/dic/ipadic-utf8

    こんなかんじになってるのがだいたい正解です。