Ubuntu12.04にMeCabをインストールしたのですが文字化けしてしまい、解決策がわかりません。

公式サイトからMeCab本体とIPA辞書をダウンロードし、インストール手順に沿ってインストールを完了しました。後にpythonで使う予定なのでmecab-python-0.994.tar.gzもインストール完了しています。
% mecab
で解析モード?みたいな状態にはなるのですが、例えば「こんにちは」と入力すると

こんにち�� ����,����,*,*,*,*,*
� ��,������³,*,*,*,*,*
EOS

こんな感じになります。64bit版でも(VMwareでインストールした)32bit版でもダメでした。

インストール時に
・./configure --enable-utf8-only
・./configure --with-charset=utf8
と、文字コードを指定することは試しましたが改善しませんでした。

知識不足でどういう情報を出せば回答しやすいかもわからず恐縮なのですが、文字化けをなくす方法を教えて頂きたいです。よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/07/25 19:54:55
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:mjy No.3

回答回数70ベストアンサー獲得回数22

ポイント300pt

Ubuntu公式パッケージにもUTFの辞書が用意されていますね。
これを使うのが一番楽なのではないでしょうか。

"mecab"と"mecab-ipadic-utf8"をapt-getなどでインストールすればそれで終わりです。
(自分でインストールした物を残す場合は、どちらの物を使うのか、常にフルパスで指定するのを忘れないように)

"mecab-ipadic-utf8"をインストールするとこれが標準の辞書に設定されるようです。
実行時に辞書を指定することもできます。

mecab -d /var/lib/mecab/dic/ipadic-utf8
他2件のコメントを見る
id:fenrifja

mjyさん

回答ありがとうございます。
アドバイス通り、上記の2文を実行したところ、文字化けしなくなりました。
単にmecabと入力して解析しようとすると相変わらず文字化けしてしまいますので、UTFの辞書がうまく使われていないということでしょうか。

とにかく、解決してよかったです。助かりました。
本当にありがとうございました。

2012/07/25 19:53:42
id:mjy

>単にmecabと入力して解析しようとすると相変わらず文字化けしてしまいますので、UTFの辞書がうまく使われていないということでしょうか。

そうかもしれません。
Ubuntuのmecabのデフォルト辞書は、alternativesシステムで設定されているので、

update-alternatives --config mecab-dictionary

で変更できます。

あるいは、あなたがUbuntuのパッケージとは別にインストールしたmecabが残っているのなら、それが実行されているのかもしれません。

ともあれ解決したようですので、よかったですね。

2012/07/25 20:12:02

その他の回答2件)

id:kitiko No.1

回答回数470ベストアンサー獲得回数42

フォント次第なようです。

たいていフォント設定で直るようです。以前はフォントの設定等もそのアプリケーションごとに勝手なメニューに入れ込んでいたようですが、最近はいくつかのパターンに収まるみたいです。ですから、文字化けして操作方法すら分からなくなったら、取りあえずアクセラレーションキーでAlt + Eで編集メニューを開けばよいでしょう。それからいくつかのタブを探しつつ、フォント選択メニューを探して、そこで日本語表示が可能なフォント(例えばIPAとか・・・)を選んでやれば何とかなる可能性が高いと思います。



http://blog.livedoor.jp/poisonous_fish/archives/52062141.html

id:fenrifja

kitikoさん

回答ありがとうございます。フォントを変えてみましたが解決しませんでした。。。

2012/07/25 11:42:26
id:mjy No.2

回答回数70ベストアンサー獲得回数22

echo 'こんにちは' |iconv -f utf8 -t euc-jp |mecab |iconv -f euc-jp -t utf8

を実行して見て下さい。
これで文字化けしないようであれば、このmecabはeuc用でコンパイルされています。
考えられる原因としては、
1. Ubuntu公式パッケージのmecabを実行している
('/usr/local/bin/mecab' などと、自分でインストールしたmecabをフルパスで実行して下さい)
2. configureに失敗している
(configure, make, make install の順番で再度インストールして下さい)
などがあります。

mecab --dump-config

も役に立つかもしれません。

他1件のコメントを見る
id:mjy

iconvは文字コード変換の例として出しただけです。
今はiconvの問題は追求しない方が良いでしょう。
ただ気になるので、"locale"コマンドの実行結果を確認しておいて下さい。
ja_JP.UTF-8 になっていますか?

2012/07/25 18:32:20
id:mjy

やはりiconvのエラーも気になりますね。

locale --all-locales

などで、もっとロケールまわりを確認しておいた方がいいかもしれません。

2012/07/25 18:50:52
id:mjy No.3

回答回数70ベストアンサー獲得回数22ここでベストアンサー

ポイント300pt

Ubuntu公式パッケージにもUTFの辞書が用意されていますね。
これを使うのが一番楽なのではないでしょうか。

"mecab"と"mecab-ipadic-utf8"をapt-getなどでインストールすればそれで終わりです。
(自分でインストールした物を残す場合は、どちらの物を使うのか、常にフルパスで指定するのを忘れないように)

"mecab-ipadic-utf8"をインストールするとこれが標準の辞書に設定されるようです。
実行時に辞書を指定することもできます。

mecab -d /var/lib/mecab/dic/ipadic-utf8
他2件のコメントを見る
id:fenrifja

mjyさん

回答ありがとうございます。
アドバイス通り、上記の2文を実行したところ、文字化けしなくなりました。
単にmecabと入力して解析しようとすると相変わらず文字化けしてしまいますので、UTFの辞書がうまく使われていないということでしょうか。

とにかく、解決してよかったです。助かりました。
本当にありがとうございました。

2012/07/25 19:53:42
id:mjy

>単にmecabと入力して解析しようとすると相変わらず文字化けしてしまいますので、UTFの辞書がうまく使われていないということでしょうか。

そうかもしれません。
Ubuntuのmecabのデフォルト辞書は、alternativesシステムで設定されているので、

update-alternatives --config mecab-dictionary

で変更できます。

あるいは、あなたがUbuntuのパッケージとは別にインストールしたmecabが残っているのなら、それが実行されているのかもしれません。

ともあれ解決したようですので、よかったですね。

2012/07/25 20:12:02

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません