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回まで
  • 13歳以上
  • 登録:2012/07/24 22:43:23
  • 終了:2012/07/25 19:54:55

ベストアンサー

id:mjy No.3

mjy回答回数67ベストアンサー獲得回数202012/07/25 17:49:23

ポイント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

kitiko回答回数463ベストアンサー獲得回数422012/07/25 02:14:02

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

たいていフォント設定で直るようです。以前はフォントの設定等もそのアプリケーションごとに勝手なメニューに入れ込んでいたようですが、最近はいくつかのパターンに収まるみたいです。ですから、文字化けして操作方法すら分からなくなったら、取りあえずアクセラレーションキーで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

mjy回答回数67ベストアンサー獲得回数202012/07/25 16:57:11

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

mjy回答回数67ベストアンサー獲得回数202012/07/25 17:49:23ここでベストアンサー

ポイント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

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

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

トラックバック

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません