人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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
と、文字コードを指定することは試しましたが改善しませんでした。

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

●質問者: fenrifja
●カテゴリ:コンピュータ 科学・統計資料
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● kitiko
●0ポイント

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

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



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


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

2 ● mjy
●0ポイント
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

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


fenrifjaさんのコメント
mjyさん 回答ありがとうございます。 アドバイス通り実行したところ iconv: iconv: utf8 への変換はサポートされていません iconv: サポートする文字コード一覧は 'iconv -l' と入力してください。 utf8 からの変換はサポートされていません iconv: サポートする文字コード一覧は 'iconv -l' と入力してください。 と返ってきました。iconvの問題なのでしょうか?synapticパッケージマネージャを見たところ「libtext-iconv-perl 1.75」がインストール済みでした。

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

mjyさんのコメント
やはりiconvのエラーも気になりますね。 >|sh| locale --all-locales ||< などで、もっとロケールまわりを確認しておいた方がいいかもしれません。

3 ● mjy
●300ポイント ベストアンサー

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

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

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

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

fenrifjaさんのコメント
mjyさん 続けて回答ありがとうございます。 本当に低レベルな質問で恐縮なのですが、アドバイス頂いた方法を実践する場合、既にインストールされているmecabやmecab-ipadic-utf8などをアンインストール(削除?)する必要があるのでしょうか? synapticパッケージマネージャで確認したところ ・mecab-utils 0.98-1 ・mecab-ipadic 2.7.0+20070801-3 ・mecab-ipadic-utf8 2.7.0+20070801-3 ・mecab-jumandic 5.1+20070304-3 ・mecab-jumandic-utf8 5.1+20070304-3 ・lib-mecab 0.98-1 がインストール済みと表示されています。

mjyさんのコメント
既にインストールされていれば、それを使えばよいです。 念の為、 >|sh| sudo apt-get install mecab mecab-ipadic-utf8 ||< を実行しておいて下さい。(synapticを使ってもかまいませんが) 最新バージョンがインストールされていなければインストールされます。 さて、公式パッケージのmecabがインストール済みだとすると、"/usr/bin/mecab"でそれを実行できます。 >|sh| /usr/bin/mecab -d /var/lib/mecab/dic/ipadic-utf8 ||< とすれば辞書も確実にUTFの物が使われます。 文字化けしますか?

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

mjyさんのコメント
>単にmecabと入力して解析しようとすると相変わらず文字化けしてしまいますので、UTFの辞書がうまく使われていないということでしょうか。 そうかもしれません。 Ubuntuのmecabのデフォルト辞書は、alternativesシステムで設定されているので、 >|sh| update-alternatives --config mecab-dictionary ||< で変更できます。 あるいは、あなたがUbuntuのパッケージとは別にインストールしたmecabが残っているのなら、それが実行されているのかもしれません。 ともあれ解決したようですので、よかったですね。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ