Help us understand the problem. What is going on with this article?

Mecabインストールで文字化けた場合の対処法

More than 1 year has passed since last update.

この記事について

  • MecabをMacにインストールしようとしたときに、結果の文字化けで躓いたのでその対処の備忘録です
  • versionや日付表記の部分は適宜読み替えてください

Mecabを素直にインストールできるパターン

mecab公式サイトから、本体とIPA辞書データをダウンロードします

mecab.png

mecab本体をインストール

$ tar -xvf mecab-0.996.tar.gz 
$ cd mecab-0.996
$ ./configure
$ make
$ make check
$ sudo make install
$ mecab -v
mecab of 0.996

辞書データをインストール

$ tar -xvf mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure
$ make
$ sudo make install

mecabを実行

  • 文字化けしないパターン
$ echo "mecabで遊ぼうと思ったら文字化ける" | mecab
mecab   名詞,一般,*,*,*,*,*
で 助詞,格助詞,一般,*,*,*,で,デ,デ
遊ぼ  動詞,自立,*,*,五段・バ行,未然ウ接続,遊ぶ,アソボ,アソボ
う 助動詞,*,*,*,不変化型,基本形,う,ウ,ウ
と 助詞,格助詞,引用,*,*,*,と,ト,ト
思っ  動詞,自立,*,*,五段・ワ行促音便,連用タ接続,思う,オモッ,オモッ
たら  助動詞,*,*,*,特殊・タ,仮定形,た,タラ,タラ
文字  名詞,一般,*,*,*,*,文字,モジ,モジ
化ける   動詞,自立,*,*,一段,基本形,化ける,バケル,バケル
  • 文字化けするパターン

これに対処します

$ echo "mecabで遊ぼうと思ったら文字化ける" | mecab
mecab   ̾??,??ͭ̾??,?ȿ?,*,*,*,*
?   ????,????,*,*,*,*,*
??  ̾??,??ͭ̾??,?ȿ?,*,*,*,*
??? ????,????,*,*,*,*,*
??  ̾??,??ͭ̾??,??̾,̾,*,*,??,?參,?參
??と思?   ????,????,*,*,*,*,*
??  ????,????ե??٥å?,*,*,*,*,??,????,????
??ら文    ????,????,*,*,*,*,*
?   ̾??,????,*,*,*,*,?,?̥?,?̥?
?化ける  ????,????,*,*,*,*,*

文字化けする場合の対処

こちらのページでほとんど解決できたのですが、一部だけ自分の環境とは手順が違っていました

解決策1

まず、mecab本体と辞書をインストールする際に--with-charset=utf8をつけると文字化けが解消することがあります

  • mecab本体
$ cd mecab-0.996
$ ./configure --with-charset=utf8
$ make
$ make check
$ sudo make install
  • 辞書データ
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure --with-charset=utf8
$ make
$ sudo make install

自分の環境では、これでは解決しませんでした

解決策2

解決策1でだめな場合は、自分で辞書の文字コードを変換した上で、もう一度インストールします
mecab本体は、解決策1でインストール済みの想定です

$ cd mecab-ipadic-2.7.0-20070801
$ nkf -w --overwrite *.csv
$ nkf -w --overwrite *.def

mecab-ipadic-2.7.0-20070801/dicrcを編集

$ config-charset = EUC-JP
↓
$ config-charset = UTF-8

再度、辞書をインストールしたところ、よくわからないエラーが発生しました
/usr/local/libexec/mecab/mecab-dict-index -d . -o . -f EUC-JP -t utf8
とあるので、他にもEUC-JP→UTF-8に書き換えなければいけない箇所があるのかと迷走しました

$ cd mecab-ipadic-2.7.0-20070801
$ ./configure --with-charset=utf8
$ make
/usr/local/libexec/mecab/mecab-dict-index -d . -o . -f EUC-JP -t utf8
reading ./unk.def ... iconv conversion failed. skip this entry
:
iconv conversion failed. skip this entry
0
make: *** [matrix.bin] Segmentation fault: 11

結論としては、--with-charset=utf8を付けずに、./configureを実行すると、エラーなくインストールできました

$ cd mecab-ipadic-2.7.0-20070801
$ ./configure
$ make
$ make install

文字化けも解消されています

$ echo "mecabで遊ぼうと思ったら文字化ける" | mecab
mecab   名詞,一般,*,*,*,*,*
で 助詞,格助詞,一般,*,*,*,で,デ,デ
遊ぼ  動詞,自立,*,*,五段・バ行,未然ウ接続,遊ぶ,アソボ,アソボ
う 助動詞,*,*,*,不変化型,基本形,う,ウ,ウ
と 助詞,格助詞,引用,*,*,*,と,ト,ト
思っ  動詞,自立,*,*,五段・ワ行促音便,連用タ接続,思う,オモッ,オモッ
たら  助動詞,*,*,*,特殊・タ,仮定形,た,タラ,タラ
文字  名詞,一般,*,*,*,*,文字,モジ,モジ
化ける   動詞,自立,*,*,一段,基本形,化ける,バケル,バケル
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away